一搜火焰圖,都是介紹linux上的工具,今天看到Windows Performance Analyzer (WPA) ,在性能套裝工具里,真是太便利了。
Flame graph 又叫 火焰圖。 這種圖表的優勢是能夠直觀的表達:父子關系、時間長短。 在 WPA 的 Flame By Process Stack 圖表中,展現的是每個進程中比較耗時的調用棧。注意這里不是每一個時刻的調用棧,而是tracing這段時間內的所有調用棧中,選出來的最耗時的幾個。利用火焰圖展示出來。 例如在下圖中,x軸表示時間,y軸表示的是調用棧的深度。 每一條橫杠表示的就是一個調用函數,越底部的表示在調用棧底部,越上面的表示越接近調用棧的棧頂。 從圖中可以看出這么幾個信息: 這段時間內最深的調用棧在哪。看圖中哪里最高,哪里就是最深的調用棧。 哪個調用棧最耗時。看圖表底部哪個函數延續了最長時間,那么這個調用棧也就耗費最長。
winsdksetup.exe
https://download.microsoft.com/download/E/1/B/E1B0E6C0-2FA2-4A1B-B322-714A5586BE63/windowssdk/winsdksetup.exe
UIforETW
https://github.com/google/UIforETW/releases
Windows Performance Analyzer (WPA)
https://docs.microsoft.com/zh-cn/windows-hardware/test/wpt/windows-performance-analyzer
Flame By Process Stack
http://sssa2000.github.io/2017/05/02/wpt-cpu-sampled/