小编nat*_*n g的帖子

如何读取nodejs内部探查器tick-processor输出

我对分析我的Node.js应用程序很感兴趣.我用--prof旗帜启动它,并获得了一个v8.log文件.我采用了windows-tick-processor并获得了一个人类可读的分析日志.在问题的底部是日志文件中的一些小摘录,我完全无法理解.

我得到了滴答统计方法.我不明白totalvs nonlib意味着什么.此外,我不明白为什么有些事情的前缀LazyCompile,Function,Stub或其他条款.

我希望得到的最佳答案是刻度处理器输出格式的完整文档/指南,完整地解释每个术语,结构等...

除此之外,我只是不明白lazy-compile是什么.是汇编吗?是不是每个函数都只编译一次?那么编译怎么可能是我的应用程序执行的重要部分?该应用程序运行了几个小时来生成此日志,我假设内部JavaScript编译需要几毫秒.这表明懒惰编译是每个函数不会发生一次,但在某种代码评估期间会发生?这是否意味着每当我有一个函数定义(例如嵌套函数)时,内部函数每次都会"懒惰编译"?

我在任何地方都找不到任何关于此的信息,我一直在谷歌搜索DAYS ......

我也意识到有很多探查器标志.其他参考资料也欢迎.

[JavaScript]:
   ticks  total  nonlib   name
  88414    7.9%   20.1%  LazyCompile: *getUniqueId C:\n\dev\SCNA\infra\lib\node-js\utils\general-utils.js:16
  22797    2.0%    5.2%  LazyCompile: *keys native v8natives.js:333
  14524    1.3%    3.3%  LazyCompile: Socket._flush C:\n\dev\SCNA\runtime-environment\load-generator\node_modules\zmq\lib\index.js:365
  12896    1.2%    2.9%  LazyCompile: BasicSerializeObject native json.js:244
  12346    1.1%    2.8%  LazyCompile: BasicJSONSerialize native json.js:274
   9327    0.8%    2.1%  LazyCompile: * C:\n\dev\SCNA\runtime-environment\load-generator\node_modules\zmq\lib\index.js:194
   7606    0.7%    1.7%  LazyCompile: *parse native json.js:55
   5937    0.5%    1.4%  LazyCompile: *split native string.js:554
   5138 …

profiler profiling v8 node.js

33
推荐指数
1
解决办法
5819
查看次数

jenkins下游作业如何通过email-ext向上游git提交者发送电子邮件通知

这个问题是关于如何将电子邮件发送到git提交者,这些提交者在jenkins的下游作业中破坏了集成测试,并查看下游作业中的更改列表.

我没有尝试过我在这里写的所有东西,所以我可能是错的,这些是我遇到的代码的印象.

显然有很多尝试回答这个问题,但没有一个看起来令人满意,所以我会详细说明.细节如下:

我们曾经和svn合作过.我们的作业层次结构是一个作业检出并编译,并触发其他作业,这些作业采用编译工件并对它们执行misc集成测试.

需要将电子邮件发送给破坏构建的上游svn提交者.

我们希望通过email-ext插件(​​https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin)发送电子邮件,因为它非常可定制,我们大量使用此功能.

email ext plugin使用当前作业的changelog.xml来发现谁破坏了构建.由于changelog.xml是由checkout操作创建的,因此它存在于上游作业中.因此,email-ext似乎不知道应该向谁发送电子邮件.

如果您决定包含罪犯,您可以使用-Dhudson.upstreamCulprits = true启动您的jenkins,这会更改email-ext的行为,但如果您不想包含罪犯,这对您没有帮助.此外,变更集似乎在下游作业中不可用.

还有一个责备上游提交者插件,但它似乎不适用于email-ext.

upstreamCulprits和blame-upstream似乎都需要指纹识别,我们宁可不要因为我们有很多文件和很多工作......这有严重的性能问题.

我们用BlameSubversion插件解决了我们的问题(https://wiki.jenkins-ci.org/display/JENKINS/BlameSubversion).它显然会从触发此作业的上游项目中复制changelog.xml,因此当此作业失败并查找在更改日志中中断构建的用户时,它可以找到它们,并且它们也会出现在更改日志中.

关于svn,我们非常高兴.现在,我们迁移到git.没有Blame Git插件.我们不介意写一个.我们只需要了解是否应该.人们一直在使用git和jenkins一段时间.我们不能成为第一个遇到这个困难的人......

谢谢,内森.

git continuous-integration jenkins email-notifications email-ext

7
推荐指数
1
解决办法
5142
查看次数