Wie lese ich die Benutzeroberfläche von qcachegrind?

Lesezeit: 3 Minuten

ich benutze qcachegrind um ein Profilprotokoll anzuzeigen, das von erstellt wurde Xdebug. Ich kann die Datei gut anzeigen, aber ich habe keine Ahnung, was ich mir anschaue.

Ich habe es mit Google versucht, aber ich bekomme immer nur Installations-Tutorials, nichts darüber, wie man die Anzeige versteht.

  1. Was sagt mir die folgende qcachegrind-Anzeige über meine Anwendung
  2. Gibt es noch etwas, das ich aus dieser Datei anzeigen kann, oder sind das alle verfügbaren Daten?

(zur besseren Ansicht bitte Bild in neuem Tab öffnen)


Geben Sie hier die Bildbeschreibung ein

  • Haben Sie nützliche Dokumentation für qCacheGrind gefunden, die Sie teilen können?

    – Der unbekannte Entwickler

    1. November 2016 um 15:12 Uhr

  • @KimberlyW Leider nein, habe ich nie getan.

    – Wesley Smith

    1. November 2016 um 16:05 Uhr

  • @KimberlyW Ich habe über ein Jahr gewartet, es sieht so aus, als hättest du mit 8 Tagen Glück gehabt, Tom hat gerade eine Antwort hinzugefügt, die es ziemlich gut darstellt

    – Wesley Smith

    10. Dezember 2016 um 4:51 Uhr

Benutzer-Avatar
Tom

Werkzeuge wie qcachegrind und kcachegrind Visualisieren Sie die Ausgabe des Xdebug-PHP-Profilers. Die Ausgabe des Profilers ist praktisch ein Protokoll aller PHP-Funktionsaufrufe mit entsprechender Startzeit, Ausführungszeit und Hierarchie.

Eine typische Ansicht ist in der folgenden Abbildung dargestellt:

Laravel-App

Auf der linken Seite befindet sich das ‘Flat Profile’. Es listet alle einzelnen Funktionsaufrufe von den zeitaufwändigsten bis zu den am wenigsten zeitaufwändigen auf. Das ‘Inkl.’ -Spalte zeigt die von der Funktion verbrauchte Zeit einschließlich der aufgerufenen Personen. Die Spalte „Self“ zeigt die von der Funktion verbrachte Zeit ohne Angerufene. Die Spalten „Aufgerufen“ und „Funktion“ zeigen jeweils die Anzahl der Aufrufe einer Funktion und den Namen (plus Namensraum) der Funktion.

Auf der rechten Seite stehen verschiedene Ansichten zur Visualisierung von Anrufern und Angerufenen zur Verfügung. Die Anrufer und Angerufenen entsprechen der auf der linken Seite ausgewählten Funktion.

In meinem Screenshot oben ist die ‘Callee Map’ geöffnet. Jedes Rechteck ist ein Funktionsaufruf innerhalb der ausgewählten Funktion (ein Aufgerufener) und jedes Rechteck darin ist ein Aufgerufener des Aufgerufenen. Die Größe entspricht dem relativen ‘Incl’. Zeit.

Unten zeigt die Ansicht „Alle Aufgerufenen“ die Aufgerufenen der ausgewählten Funktionsreihenfolge nach der von Ihnen bevorzugten Eigenschaft.

Eine detailliertere Ansicht ist unten dargestellt:

Anrufer und Angerufene

Dies ist eine Funktion einer Laravel-Datenbankfunktion, die nach ‘Self’-Zeit sortiert ist. Sie sehen deutlich, wie die verschiedenen Funktionsaufrufe zusammenhängen und welche Funktion die meiste Zeit in Anspruch nimmt: PDOStatement::execute. Dies ist keine Überraschung, da es sich um eine Funktion handelt, die sich mit einer externen Datenbank verbindet, diese abfragt und auf das Ergebnis wartet.

Zurück zu Ihrem ursprünglichen Screenshot: Er sagt Ihnen, dass Ihre Anwendung die meiste Zeit in PHP verbracht hat session_start Funktion (99,8 %).

  • Der Hauptzeit sind keine Einheiten zugeordnet. Kannst du mir Einheiten nennen? Ist es Mikrosekunde oder Minisekunde? Unter der Spalte Einschl. und Selbst.

    – Jaimin MosLake

    7. Mai 2017 um 9:59 Uhr


  • 1 Einheit ist 1/1.000.000 Sekunde (xdebug.org/docs/profiler), auch bekannt als 1 Mikrosekunde (us, µs). Sie können zwischen relativer und absoluter Zeit wählen.

    – Tom

    8. Mai 2017 um 12:09 Uhr


  • Gute Arbeit, dies zusammenzufassen. So hilfreich. Vielen Dank, dass Sie sich die Zeit genommen haben, anderen zu helfen.

    – Charlie Dalsass

    29. August 2019 um 20:48 Uhr

1229370cookie-checkWie lese ich die Benutzeroberfläche von qcachegrind?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy