首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用xperf检查nodejs的调用堆栈?

如何使用xperf检查nodejs的调用堆栈?
EN

Stack Overflow用户
提问于 2014-11-21 18:11:01
回答 1查看 590关注 0票数 0

我正在尝试学习Node.js应用程序的性能调优。我想要的第一件事是一张火焰记录仪。因为我在Windows平台上工作,所以我使用这个manual来获取火焰图。

然而,我在这一步中遇到了问题:

xperf -i perf.etl -o perf.csv -symbols

我不擅长使用xperf。谁能告诉我怎样才能通过这道题并得到一张火焰记录仪?

EN

回答 1

Stack Overflow用户

发布于 2015-02-22 10:43:44

值得指出的是,xperf可以记录许多不同类型的调用堆栈。您可以在每个文件I/O、磁盘I/O、上下文切换、注册表访问等上获得调用堆栈,并且您可以为其中任何一个创建火焰图。但是,我假设您想要CPU采样数据的火焰图。

你可以在我的博客上找到一种略有不同的技术,可以从xperf采样数据中创建火焰图:

https://randomascii.wordpress.com/2013/03/26/summarizing-xperf-cpu-usage-with-flame-graphs/

您没有说出您的问题是什么--这一步出了什么问题--所以我将给出一些一般性的建议:

当experimenting.

  • Try将跟踪加载到
  1. 中时,WPA尝试使用非常短的跟踪--只有几秒钟--以使该过程尽可能快,以确保您可以在那里看到采样数据。您可能会发现您不需要火焰图表,因为WPA为您提供了以图形方式探索数据的方法。将跟踪加载到WPA中还可以确保符号已加载,并使WPA有机会将符号转换为.symcache文件,这将使处理步骤运行得更快。
  2. 请确保已将_NT_SYMBOL_PATH设置为指向Microsoft的符号服务器和您可能需要的任何其他服务器。
  3. 考虑使用wprui而不是批处理文件来记录跟踪:https://randomascii.wordpress.com/2013/04/20/xperf-basics-recording-a-trace-the-easy-way/

您可以通过使用一些新的wpaexporter来改进火焰图形生成过程,而不是将所有的xperf数据导出为文本,我在这里介绍了这个wpaexporter:

https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/

然而,这将需要重新编写脚本,并且可能会比您想要投入的工作更多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27058852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档