objectif
Identifier les fonctions les plus coûteuses via un profilage échantillonné.
code minimal
sudo perf record -F 99 -g -- sleep 10 && sudo perf script > out.perf
utilisation
# générer un flamegraph (dépôt FlameGraph requis)
git clone https://github.com/brendangregg/FlameGraph.git
./FlameGraph/stackcollapse-perf.pl out.perf | ./FlameGraph/flamegraph.pl > flame.svg
variante(s) utile(s)
# profiler un process spécifique
sudo perf record -F 99 -g -p $(pgrep -xo app) -- sleep 10
notes
- nécessite
perfet des symboles de débogage pour une meilleure lisibilité. - générer un flamegraph requiert les scripts du dépôt FlameGraph.