我对分析我的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 …
这个问题是关于如何将电子邮件发送到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