【问题标题】:When profiling NodeJS using --inspect, what does "(program)" mean使用 --inspect 分析 NodeJS 时,“(程序)”是什么意思
【发布时间】:2017-08-13 06:42:36
【问题描述】:

当使用node --inspect 使用 chrome 开发工具分析 NodeJS 应用程序时,大部分运行时都花费在(program) 中。我没有找到关于这到底意味着什么的信息?只是花时间在 NodeJS 的 C++ 部分吗?

【问题讨论】:

    标签: node.js profiling


    【解决方案1】:

    (program) 条目是 Chrome 本身 - 它是第一个在执行其他任何操作之前执行的操作,并且无论您的 Node 应用程序在做什么,它都会保留在那里。

    Chromium profiler issue 中讨论了它的确切含义(以及它是否令人困惑)。

    您还可以在comments of the Changelog 中看到该提交还包括以下评论:

    Web Inspector:[Chromium] 分析器 - 区分原生代码 (程序)和空闲时间https://bugs.webkit.org/show_bug.cgi?id=88446

    由 NOBODY 审核(糟糕!)。

    现在 idleTime 在配置文件对象中提供。在这个补丁中,idleTime, 如果有,从“(program)”节点中减去,新节点“(idle)”为 作为顶级节点 ti 配置文件注入。

    【讨论】:

    • Chrome 不涉及这种情况,因为我正在分析 node.js 应用程序。 (空闲)会有意义,但我根本没有看到。在分析 node.js 应用程序时,也许(程序)意味着(空闲)。也许它是节点的 C++ 部分。也许两者兼而有之。我还是不太清楚……
    • 您正在使用 chrome 开发工具 - Chrome 怎么不参与? 进行分析的是 Chrome 本身
    • 我正在使用 Chrome 来分析一个单独的 node.js 应用程序。如果配置文件中包含 Chrome 的 CPU 周期,这将从根本上被破坏,我无法相信这就是正在发生的事情......
    猜你喜欢
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多