hyj1991 / easy-monitor

企业级 Node.js 应用性能监控与线上故障定位解决方案
http://www.devtoolx.com
BSD 2-Clause "Simplified" License
3.09k stars 240 forks source link

火焰图底部出现两个调用名称为anonymous的 #118

Closed x363090973 closed 4 years ago

x363090973 commented 4 years ago

火焰图底部出现两个调用名称为anonymous的 ,是什么意思,为什么会导致这样的?

hyj1991 commented 4 years ago

贴个图?

x363090973 commented 4 years ago

@hyj1991 在线答疑太感动了... 模块中没有anonymous的函数,并且最上层的anonymous根据显示上面的函数名词 ,此anonymous函数名应该是output的, 1

hyj1991 commented 4 years ago

anonymous 就是匿名函数的意思,你的代码中肯定不会有 anonymous 字样,比如:

http.request('http://www.baidu.com', function(res) {});

这里给 http.request 方法设置的回调函数就是匿名函数,相对而言,如果这样写:

http.request('http://www.baidu.com', function test(res) {});

那这个函数的 name 就是 test,不是匿名的了。

你图中的两个匿名函数,显然是 runtime 内部的调用,最下面一层是 v8 的 microtasks 了,你在火焰图中只需要关注你的业务相关函数即可。

hyj1991 commented 4 years ago

没有其它疑问这个 issue 我关闭了,如果还有其它问题可以再打开他讨论

x363090973 commented 4 years ago

Thanks♪(・ω・)ノ,工具挺好用的,解决我的实际问题,我向朋友安利了

hyj1991 commented 4 years ago

正在做 Easy-Monitor 3.0 的版本,会有非常大的更新,加入了团队协作等更加适合企业本地部署的内容,欢迎关注 :)