需要使用 d3-flame-graph, 這是 nodejs 的東西, 在和 npm 奮戰多時之後, 我放棄了, 還是生不出來, 我只想要 /usr/share/d3-flame-graph/d3-flamegraph-base.html, 不能讓我下載這個檔案就好了嗎? 不想搞 npm 的東西。
後來在 [PATCH v3] perf script flamegraph: Avoid d3-flame-graph package dependency找到, 明明只要下載這個檔案就搞定的事, 偏偏被折騰那漫久, 文章也提到, 在 debian 要生出這個東西是很痛苦的, 那麼巧, 我就是用 debian, 在有了 /usr/share/d3-flame-graph/d3-flamegraph-base.html, 終於可以輸出火焰圖了。
直接抓, 輕鬆愉快 wget https://cdn.jsdelivr.net/npm/d3-flame-graph@4.1.3/dist/templates/d3-flamegraph-base.html root@deb64:~# perf record -F 99 -a -g -- sleep 5 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.892 MB perf.data (1982 samples) ] root@deb64:~# perf script report flamegraph dumping data to flamegraph.html
會輸出 fig 1. flamegraph.html
fig 1. flamegraph.html |
Currently flame graph generation requires a d3-flame-graph template to
be installed. Unfortunately this is hard to come by for things like
Debian [1]. If the template isn't installed then ask if it should be
downloaded from jsdelivr CDN. The downloaded HTML file is validated
against an md5sum. If the download fails, generate a minimal flame
graph with the javascript coming from links to jsdelivr CDN.
有些工具是用 python, perl, nodejs, 他們都有自己的執行環境, 運氣不好, 會在這上面花很多時間。大部份人也不可能都熟悉這些環境, 能熟其中一個就已經很不錯了。
perf stat -e instructions,cycles,L1-dcache-load-misses,LLC-load-misses,dTLB-load-misses ls /
apt-get install bpfcc-tools profile-bpfcc cpudist-bpfcc
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。