Monday, October 31, 2016

Flame Graphs For Code Reading

Some time ago I learnt about flame graphs and since then I loved them. They help to see the forest among trees when in front of you millions of code.
On linux  I used:
for sampling - perf
for tracing kernel: /proc ftracer
for tracing userspace: -finstrument-functions compiler flag
On windows  I used:
xperf.exe sampling profiler

You are not limited to samples count on callstack, I also viewed mem allocated, tcp/udp usage, io amount, num of created threads, files, etc.

Here are some examples:

traced gcc:
https://yadi.sk/d/wvx_Wzwlxufy6
git clone from kernel side:
https://yadi.sk/d/Ull_ML2mxufyq
webkit from xperf:
https://yadi.sk/d/gsQmT3y_xug2j
mysqld from xperf:
https://yadi.sk/d/QujHnA7fxug3T
unreal engine from xperf:
https://yadi.sk/d/cxL0DP4jxug4X
wget from kernel side:
https://yadi.sk/d/K-0uHuZJxug57

No comments:

Post a Comment