2015-10-13 12 views
10

Używam qcachegrind do przeglądania dziennika profili utworzonego przez Xdebug. Mogę zobaczyć plik w porządku, ale nie mam pojęcia, na co patrzę.Jak mogę odczytać interfejs użytkownika qcachegrind?

Wypróbowałem Google, ale wciąż mam samouczki instalacyjne, nic o tym, jak rozumieć wyświetlacz.

  1. Co poniżej wyświetlacza qcachegrind mi powiedzieć o mojej aplikacji
  2. Czy coś jeszcze mogę zobaczyć z tego pliku, czy to wszystko ma dostępnych danych?

(proszę otworzyć obraz w nowej karcie dla lepszego widoku)


enter image description here

+0

Czy znalazłeś przydatną dokumentację dla qCacheGrind, którą możesz udostępnić? –

+0

@KimberlyW Niestety, nie, nigdy tego nie zrobiłem. – DelightedD0D

+1

@KimberlyW Czekałem ponad rok, wygląda na to, że masz szczęście przez 8 dni, Tom po prostu dodał odpowiedź, która określa to całkiem ładnie – DelightedD0D

Odpowiedz

10

Narzędzia jak qcachegrind i kcachegrind wizualizować wyjście profilera Xdebug PHP. Dane wyjściowe profilera są praktycznie logami wszystkich wywołań funkcji PHP z odpowiednim czasem rozpoczęcia, czasem wykonania i hierarchią.

Typowy widok jest pokazany na poniższym rysunku:

Laravel App

Po lewej stronie jest „płaska”. Wymienia wszystkie indywidualne wywołania funkcji od najbardziej czasochłonnych do najmniej czasochłonnych. "Incl." kolumna pokazuje czas zużywany przez funkcję, w tym wywoływane. Kolumna "Self" pokazuje czas spędzony przez funkcję wykluczającą callees. Kolumny "Wywoływane" i "Funkcja" pokazują odpowiednio liczbę wywołań funkcji oraz nazwę (plus obszar nazw) funkcji.

Po prawej stronie dostępne są różne widoki w celu wizualizacji osób dzwoniących i odbiorców. Osoby dzwoniące i osoby wywołujące odpowiadają funkcji wybranej po lewej stronie.

W moim zrzucie ekranu u góry ekranu otwiera się "Mapa Callee". Każdy prostokąt jest wywołaniem funkcji w ramach wybranej funkcji (a mianowicie), a każda reszta wewnątrz jest osobą odbierającą. Rozmiar odpowiada względnemu "Incl". czas.

U dołu widok "Wszystkie odwiedzane" pokazuje wybranych przez użytkownika wybranych funkcji według właściwości, które preferujesz.

Bardziej szczegółowy widok jest pokazany poniżej:

Callers and callees

Jest funkcją funkcją bazy laravel posortowane na czas „ja”. Wyraźnie widać, w jaki sposób różne wywołania funkcji są powiązane i która funkcja zajmuje najwięcej czasu: PDOStatement :: execute. Nie jest to niespodzianką, ponieważ jest to funkcja, która łączy się z zewnętrzną bazą danych, odpytuje ją i czeka na wynik.

Powrót do oryginalnego zrzutu ekranu. Mówi ci, że twoja aplikacja poświęciła dużo (dużo czasu) na funkcję PHP session_start. Jest to pokazane przez 99,8% samo-czas.

+0

Nie ma jednostek podanych na czas główny. Czy możesz mi powiedzieć jednostki? Czy to mikro sekunda, czy mini sekunda. W kolumnie Incl and Self. –

+1

1 jednostka to 1/1000.000 sekundy (https://xdebug.org/docs/profiler), a.k.a. 1 mikrosekunda (nas, μs). Możesz wybrać czas względny i bezwzględny. –

Powiązane problemy