dmtracedump

dmtracedump to narzędzie do generowania graficznych diagramów stosu wywołań na podstawie plików dzienników śledzenia. Do tworzenia elementów graficznych narzędzie wykorzystuje narzędzie Graphviz Dot, dlatego przed uruchomieniem narzędzia dmtracedump należy zainstalować program Graphviz. Jeśli logi śledzenia nie zostały jeszcze wygenerowane i zapisane z połączonego urządzenia na komputerze lokalnym, zapoznaj się z artykułem Generowanie logów śledzenia przez instrumentację aplikacji.

Narzędzie dmtracedump generuje dane stosu wywołań w formie diagramu drzewa, w którym każdy węzeł reprezentuje wywołanie metody. Przedstawia przepływ wywołań (od węzła nadrzędnego do węzłów podrzędnych) za pomocą strzałek. Poniższy diagram przedstawia przykładowe dane wyjściowe funkcji dmtracedump.

Narzędzie dmtracedump jest dostępne w pakiecie Android SDK Tools i znajduje się w android-sdk/platform-tools/.

Składnia

Zastosowanie dmtracedump:

dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name

Następnie narzędzie wczyta dane logów logu czasu z trace-base-name.data i trace-base-name.key.

Opcje globalne

Opcje globalne Opis
-h Włącz dane wyjściowe HTML
-o Zrzuć plik śledzenia zamiast profilowania

Polecenia i opcje poleceń

Polecenia i opcje Opis
-d trace-base-name Różni się od tej nazwy logu czasu
-g outfile Generuj dane wyjściowe dla funkcji outfile
-s sortable Podstawa adresu URL do lokalizacji pliku JavaScript z możliwością sortowania
-t percent Minimalny próg uwzględniania węzłów podrzędnych na wykresie (czas obejmujący elementy podrzędne jako odsetek czasu włącznie z rodzicami). Jeśli nie używasz tej opcji, domyślny próg wynosi 20%.

Odpowiedź

Rysunek 1. Zrzut ekranu z dmtracedump

W przypadku każdego węzła na wykresie dmtracedump wyświetla te informacje:

ref callname (inc-ms, exc-ms,numcalls)
  • ref – numer referencyjny połączenia używany w dziennikach śledzenia
  • inc-ms – czas, który upłynął (w milisekundach w metodzie, z uwzględnieniem wszystkich metod podrzędnych)
  • exc-ms – czas, który upływa (wyłącznie w milisekundach, w metodzie, z wyłączeniem metod podrzędnych)
  • numcalls – liczba połączeń