Flammendiagramme können nützlich sein, um die Ausgabe eines Profilerstellungstools zu visualisieren:
http://www.brendangregg.com/flamegraphs.html
https://github.com/brendangregg/FlameGraph
Ich erinnere mich, dass ich vor einiger Zeit mit gechattet habe . Wäre interessant zu überlegen, wie Profiling-Daten in Elasticsearch gespeichert und in einer nativen Kibana-Visualisierung wie dieser visualisiert werden können.
cc: @alexfrancoeur @thomasneirynck
Ich wollte schon seit Ewigkeiten Profiling-Speicher. Jetzt, wo ich bei Elastic bin, dachte ich, ich würde tatsächlich etwas dagegen tun. Ich habe mit einem neuen Beat begonnen, der pprof- Profile sammelt: https://github.com/axw/pprofbeat.
(Dies ist mein erster richtiger Ausflug in ES und Beats, daher ist das Datenformat wahrscheinlich nicht großartig - aber es ist etwas.)
Ich kümmere mich hauptsächlich um die Profilerstellung von Go-Programmen, was ziemlich einfach ist: Importieren Sie ein Standardpaket, und Sie können CPU- und Heap-Profildaten über einen HTTP-Endpunkt bereitstellen. Was ich sehen möchte ist:
Ich hatte vor, die Web-Benutzeroberfläche von "pprof" als Plugin einzubetten, obwohl ich nicht wirklich weiß, wo ich anfangen soll. Unnötig zu sagen, je integrierter, desto besser.
Ein paar Screenshots der pprof Web-Benutzeroberfläche unten, falls die Leute es nicht wissen - könnten als Inspiration dienen.
Beispiel pprof-Grafik:
Pprof Flammengraph:
Pprof Top-Täter:
Anmerkung zum Pprof-Quellcode:
Ein sehr interessanter Visualisierungsansatz vom Netflix Perf-Team Flamescope
Dieses Werkzeug macht es einfach, Muster zu unterscheiden und in der Flammendiagrammansicht in Subsekunden-Granularität zu erscheinen.
Die X-Achse ist die Zeit (t) in Sekunden, die Y-Achse ist der Millisekunden-Split von t. Der Vektor, der die Farbdichte der Heatmap erzeugt, ist die Ereignisanzahl für diese X->Y-Zeit.
Ich habe mir erlaubt, in Elastic Charts https://github.com/elastic/elastic-charts/issues/519 eine neue Visualisierungstyp-Anfrage zu erstellen, um die Konversation mit diesem Team zu eröffnen und eine qualifizierte Bewertung der Weiterverfolgung vorzunehmen eine MVP-Implementierung für APM und was das beinhalten sollte.
Hilfreichster Kommentar
Ein sehr interessanter Visualisierungsansatz vom Netflix Perf-Team Flamescope
Dieses Werkzeug macht es einfach, Muster zu unterscheiden und in der Flammendiagrammansicht in Subsekunden-Granularität zu erscheinen.
Die X-Achse ist die Zeit (t) in Sekunden, die Y-Achse ist der Millisekunden-Split von t. Der Vektor, der die Farbdichte der Heatmap erzeugt, ist die Ereignisanzahl für diese X->Y-Zeit.