首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DTrace分析Node.js

使用DTrace分析Node.js
EN

Stack Overflow用户
提问于 2012-06-26 18:29:01
回答 3查看 5K关注 0票数 6

我目前正在分析我的node.js应用程序,我找到了这个博客:http://blog.nodejs.org/2012/04/25/profiling-node-js/,它建议我应该使用Dtrace。我使用这里给出的步骤在ubuntu12.04上安装了dtrace:https://askubuntu.com/questions/60940/how-do-i-install-dtrace

但是,当我在我的终端上运行这个命令时,我的节点应用程序正在运行:

代码语言:javascript
复制
dtrace -o stacks.out -n 'profile-97/execname == "node" && arg1/{
@[jstack(100, 8000)] = count(); } tick-60s { exit(0); }'

stacks.out保持为空,除非: CPU ID FUNCTION:NAME 1 387695 :tick-60s

有什么建议可能出了什么问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-27 03:29:42

Linux的DTrace实现目前非常年轻,缺少许多重要的特性(而且还没有以任何方式准备好投入生产使用)。具体地说,您正在使用的DTrace实现(Paul Fox的)并没有做太多的工作来支持用户空间跟踪。因此,您将无法在Linux下执行此操作(现在)。

如果你想让它工作,你需要使用一个拥有更完整的DTrace实现的操作系统。最好的办法是使用一种Illumos衍生工具(如OmniOSSmartOSOpenIndiana)。

您应该重新阅读the article you linked to的“先决条件”部分。它指出,您还需要确保您使用的32位NodeJS在编译时打开了DTrace支持。

(Mac确实有一个很好的DTrace实现,但根据the article的说法,它不支持本例所需的ustack helper。)

票数 6
EN

Stack Overflow用户

发布于 2012-06-27 04:49:31

@psanford有一个很好的答案,特别是涉及你的DTrace问题,但从你的开场白看,你想要的是能够跟踪你的Node.js应用程序,DTrace只是如何做到这一点的一个例子。

在这种情况下,node-inspectorv8-profiler的组合将为您的应用程序提供所需的内省。然而,我不确定它是否适用于Node 0.6.x,因为我最后一次使用它是在0.4.10。

票数 3
EN

Stack Overflow用户

发布于 2013-09-10 00:53:37

announced DTrace在 Linux上的可用性。你可以下载这个发行版的here

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

https://stackoverflow.com/questions/11205375

复制
相关文章

相似问题

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