perf
https://www.brendangregg.com/Perf/linux_observability_tools.png
Linux用のやたらに多機能な性能計測ツール
基本機能の一つにスタックトレースをサンプリングして集計する機能がある
フレームポインタをデバッグ情報と照合して関数名シンボルを表示する
JIT用に実行時にアドレスとシンボルを紐づける機能もある
Your JIT application must be modified to create a /tmp/perf-PID.map file, which is a simple text database containing symbol addresses (in hex), sizes, and symbol names.
That's it.
code:sh
RUSTFLAGS=-Cforce-frame-pointers=yes cargo install --features perf --path monoruby
perf record -F 1000 -g -- monoruby $@
perf script | ../FlameGraph/stackcollapse-perf.pl | ../FlameGraph/flamegraph.pl > out.svg
out.svg
https://scrapbox.io/files/6534a19aa77d47001cf911f0.svg
FireFoxがperfの素晴らしいvisualizationツールを作っている。
解析結果は共有できる。