性能分析节点.js使用 DTrace
Profiling Node.js using DTrace
我目前正在分析我的节点.js应用程序。我发现了这个博客:http://blog.nodejs.org/2012/04/25/profiling-node-js/建议我应该使用Dtrace。我使用此处给出的步骤在 ubuntu 12.04 上安装了 dtrace:https://askubuntu.com/questions/60940/how-do-i-install-dtrace
但是,当我在节点应用程序运行时在终端中运行此命令时:
dtrace -o stacks.out -n 'profile-97/execname == "node" && arg1/{
@[jstack(100, 8000)] = count(); } tick-60s { exit(0); }'
stacks.out 保持空白,除了:CPU ID 功能:名称 1 387695:tick-60s
任何建议可能出了什么问题?
Linux DTrace 实现目前还很年轻,缺少许多重要功能(并且尚未准备好用于生产)。具体来说,您正在使用的 DTrace 实现(Paul Fox 的)没有做太多工作来支持用户空间跟踪。因此,您将无法在Linux下执行此操作(现在)。
如果要使其正常工作,则需要使用具有更完整 DTrace 实现的操作系统。最好的选择是使用Illumos衍生产品之一(如OmniOS,SmartOS或OpenIndiana)。
您应该重新阅读您链接到的文章的"先决条件"部分。它指出您还需要确保在编译时启用 DTrace 支持的 32 位 NodeJS。
(Mac OS X 确实有一个很好的 DTrace 实现,但根据文章,它不支持此示例所需的 ustack 帮助程序。
@psanford有一个很好的答案,专门涉及您的 DTrace 问题,但从您的开头句子来看,您似乎想要能够跟踪您的 Node.js 应用程序,而 DTrace 只是如何做到这一点的一个例子。
在这种情况下,节点检查器和 v8 探查器的组合将为您提供所需的应用程序自省。我不确定它是否适用于 Node 0.6.x,但是,因为我上次使用它是在 0.4.10 上
宣布在 Oracle Linux 上提供 DTrace。您可以在此处下载此发行版。
- 在指令控制器中使用$attrs时出现问题
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使用动画实现纸张推车
- 如何在Angular2中使用jQuery插件
- 使用Express捕获参数
- 使用clickToggle并在单击另一个元素时关闭元素
- 如何使用jQuery选择下拉列表的值
- 可以前端maven插件使用节点,npm已经安装
- 使用javascript将动态表从一个html页面打印到另一个html页
- 性能分析节点.js使用 DTrace
- 在Node.js程序上使用DTrace时没有函数名