我正在尝试学习 Node.js 应用程序的性能调优。我想要的第一件事是火焰图。由于我在 Windows 平台上工作,因此我按照本手册获取火焰图。
但是,我在这一步堆叠:
xperf -i perf.etl -o perf.csv -symbols
我不擅长 xperf。有人可以告诉我如何通过这个问题并获得火焰图吗?
我正在尝试学习 Node.js 应用程序的性能调优。我想要的第一件事是火焰图。由于我在 Windows 平台上工作,因此我按照本手册获取火焰图。
但是,我在这一步堆叠:
xperf -i perf.etl -o perf.csv -symbols
我不擅长 xperf。有人可以告诉我如何通过这个问题并获得火焰图吗?
值得指出的是,xperf 可以记录许多不同类型的调用堆栈。您可以获取每个文件 I/O、磁盘 I/O、上下文切换、注册表访问等的调用堆栈,并且可以创建其中任何一个的火焰图。但是,我假设您需要 CPU 采样数据的火焰图。
您可以在我的博客上找到一种稍微不同的技术,用于从 xperf 采样数据创建火焰图,这里是:
https://randomascii.wordpress.com/2013/03/26/summarizing-xperf-cpu-usage-with-flame-graphs/
你没有说你的问题是什么——那一步出了什么问题——所以我会给出一些通用的建议:
您可以通过使用有点新的 wpaexporter 来改进火焰图生成过程,方法是不将所有xperf 数据导出为文本,我在此处记录:
https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/
但是,这将需要重新编写脚本,并且可能比您想要的工作量更多。