1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

使用DTrace和火焰图分析Rust程序

这篇文章参考自Rust Profiling with DTrace and FlameGraph on OSX ,不同之处在于我使用的是操作系统是FreeBSD。使用DTrace和火焰图分析Rust程序的步骤如下:

(1)如果编译Rustrelease版本程序,需要在Cargo.toml加入下列配置:

[profile.release]
debug = true

(2)运行Rust程序(名字为stream),并使用DTrace进行采样:

dtrace -c './stream' -o out.stacks -n 'profile-997 /execname == "stream"/ { @[ustack(100)] = count(); }' 

(3)使用火焰图定义采样生成的out.stacks文件进行分析:

./stackcollapse.pl out.stacks | ./flamegraph.pl > pretty-graph.svg

生成的最终SVG文件如下:

Capture

Leave a Reply

Your email address will not be published. Required fields are marked *