可以将Node的内置分析器附加到现有流程

时间:2019-02-21 15:19:37

标签: node.js profile

我熟悉Node在CPU事件探查器中的构建:

NODE_ENV=production node --prof server.js

...但是可以将探查器附加到正在运行的进程。

我需要解决的问题是,在IoT网关启动过程中有很多繁重的工作,并且我只想在稳定状态下进行繁重的工作后才对CPU进行配置,因此我想将其附加到运行中而不是从启动时进行监控,因为这完全会误解我的稳定状态。

我知道您可以使用调试器执行此操作,但是我需要为探查器执行此操作。

1 个答案:

答案 0 :(得分:1)

您可以使用远程检查器

 NODE_ENV=production node --inspect-brk server.js

现在,在chrome中进入chrome://inspect,然后启动NodeJS Inspector并恢复应用程序

  1. Profiler选项卡手动启动分析器。
  2. 您可以使用console.profile()console.profileEnd()在代码中启动事件探查器

如果要检查远程服务器:

  1. 使用以下脚本启动脚本:NODE_ENV=production node --inspect=0.0.0.0:9229 server.js
  2. chrome://inspect中单击新的Configure Discover network targets,然后添加服务器的IP地址和9229端口。刷新页面,然后您将看到要检查的远程服务器。

确保打开远程服务器防火墙上的9229端口。如果您只能访问22(ssh),请尝试打开ssh-tunel:ssh -L 9229:127.0.0.1:9229 some@myserver -N然后,您只能使用--inspect标志启动服务器,而无需ip绑定。