Graphiques de flamme: "feu" de tous les moteurs

Bonjour à tous! Nous vous invitons à une réunion en ligne avec Vasily Kudryavtsev (directeur du département d'assurance qualité de RTLabs JSC), qui aura lieu dans le cadre du cours de test de charge. Et voici la traduction de Michael Hunger - développeur de logiciels et éditeur de Neo4j Developer Blog et GRANDstack!

Les profileurs standard Java utilisent l'instrumentation bytecode ou l'échantillonnage (en examinant les traces de pile à de courts intervalles) pour déterminer où le temps a été passé. Les deux approches ont leurs inconvénients et leurs bizarreries. Comprendre les résultats de tels profileurs est un art en soi et demande beaucoup d'expérience.

, , Netflix, flame-, , .

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

Flame plot d'un benchmark remplissant une ArrayList non allouée
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