prémisse
Installez Arthas à l'avance
commande profiler pour générer un graphique de flamme
Principe Utilisez async-profiler pour générer des graphiques de flamme La
commande profiler prend en charge la génération de graphiques de flamme des hotspots d'application. Essentiellement, c'est grâce à un échantillonnage continu, puis les résultats d'échantillonnage collectés sont générés dans une carte de flamme.
La structure de fonctionnement de base de la commande du profileur est l’action du profileur [actionArg]
Afficher toutes les actions prises en charge:
[arthas@9737]$ profiler actions
Supported Actions: [resume, dumpCollapsed, getSamples, start, list, execute, version, stop, load, dumpFlat, actions, dumpTraces, status]
[arthas@9737]$
Voir la version:
[arthas@9737]$ profiler version
1.8.3
[arthas@9737]$
Démarrez le profileur:
[arthas@9737]$ profiler start
Started [cpu] profiling
[arthas@9737]$
Par défaut, le graphique de flamme du processeur est généré
获取已采集的 sample 的数量:
[arthas@9737]$ profiler getSamples
12
[arthas@9737]
Afficher l'état du profileur:
vous pouvez afficher l'événement et l'heure d'échantillonnage que le profileur actuel échantillonne.
[arthas@9737]$ profiler status
[perf] profiling is running for 166 seconds
[arthas@9737]$
Arrêtez le profileur pour générer un résultat au format svg
[arthas@9737]$ profiler stop
OK
profiler output file: /root/arthas-output/20210318-190449.svg
[arthas@9737]$
Affichez les résultats du profileur
sous arthas-output via le navigateur: Par défaut, arthas utilise le port http 8563, vous pouvez ouvrir: http://192.168.189.131:8563/arthas-output/ Les résultats du profileur sous le répertoire:
Événements pris en charge par le profileur:
sur différentes plates-formes et différents systèmes d'exploitation, les événements pris en charge sont différents
[arthas@9737]$ profiler list
Basic events:
cpu
alloc
lock
wall
itimer
Java method calls:
ClassName.methodName
Perf events:
page-faults
context-switches
cycles
instructions
cache-references
cache-misses
branches
branch-misses
bus-cycles
L1-dcache-load-misses
LLC-load-misses
dTLB-load-misses
mem:breakpoint
trace:tracepoint
[arthas@9737]$