Flammengrafiken: "Feuer" von allen Motoren

Hallo nochmal alle zusammen! Wir laden Sie zu einem Online-Treffen mit Vasily Kudryavtsev (Direktor der Abteilung Qualitätssicherung bei RTLabs JSC) ein, das im Rahmen des Lasttestkurses stattfinden wird. Und hier ist die Übersetzung von Michael Hunger - Softwareentwickler und Herausgeber von Neo4j Developer Blog und GRANDstack!

Java-Standardprofiler verwenden entweder die Bytecode-Instrumentierung oder die Abtastung (indem sie die Stapelspuren in kurzen Intervallen betrachten), um festzustellen, wo Zeit verbracht wurde. Beide Ansätze haben ihre Nachteile und Kuriositäten. Das Verständnis der Ergebnisse solcher Profiler ist eine Kunst für sich und erfordert viel Erfahrung.

, , Netflix, flame-, , .

Flame- , , . , . ( , , . . )

Flammenplot eines Benchmarks, der eine nicht zugewiesene ArrayList ausfüllt
Flame- ArrayList

Flame' (main ) flame'.

, . , . flame , , - . , , , , , .

JVM (AsyncGetCallTrace), . , JVM- , , , / , flame-.

, Honest Profiler, perf-map-agent, async-profiler IntelliJ IDEA, flame-. 

, PID Java- SVG.

# download and unzip async profiler for your OS from:
# https://github.com/jvm-profiling-tools/async-profiler
./profiler.sh -d <duration> -f flamegraph.svg -s -o svg <pid> && \
open flamegraph.svg  -a "Google Chrome"

SVG, , , . , .. 

Flame- — . , , JVM, .


? Demo- « - Performance center (PC) Vugen»!




All Articles