我熟悉Node在CPU事件探查器中的构建:
NODE_ENV=production node --prof server.js
...但是分析器可以附加到正在运行的进程中。

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

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

最佳答案

您可以使用远程检查器

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

现在,在chrome中输入chrome://inspect并启动NodeJS Inspector并恢复该应用程序
  • Profiler选项卡手动启动探查器。
  • 您可以在代码中使用console.profile()console.profileEnd()启动事件探查器


  • 如果要检查远程服务器:
  • 使用以下命令启动脚本:NODE_ENV=production node --inspect=0.0.0.0:9229 server.js
  • 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绑定(bind)。

    关于node.js - 可以将Node的内置事件探查器附加到现有流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54810483/

    10-08 20:45