google-chrome - 如何使用 Google Chrome 的 devtools 配置文件报告(cpuprofile 文件)计算自身时间和总时间

标签 google-chrome profiling google-chrome-devtools reverse-engineering

我正在编写工具来解析和提取 cpuprofile 文件(保存配置文件报告时生成的文件)中的一些数据,但我在 self 和总时间计算的精度方面遇到了一些问题。因此,时间取决于字段 hitCount 的值,但是。当 hitCount 较小 (<300) 时,hitCountSelf time 之间的系数约为 1.033。但随着 hitCount 的增长,系数也会增长。 因此,当 hitCount=3585 时,k 为 1.057。当hitCount=7265时:k=1.066。

目前我使用 1.035 作为系数,我试图最大限度地减少样本数据的错误。但我对近似值不满意。我对 Chromium 代码库不熟悉,无法直接在源代码中弄清楚。

那么如何获得具有 hitCount 值的函数调用的 Self 时间?

最佳答案

基本上是:

sampleDuration = totalRecordingDuration / totalHitCount
nodeSelfTime = nodeHitCount * sampleDuration

您可以在这里找到它: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js&sq=package:chromium&type=cs&l=31

关于google-chrome - 如何使用 Google Chrome 的 devtools 配置文件报告(cpuprofile 文件)计算自身时间和总时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888211/

相关文章:

java - 在 Java 应用程序中查找线程创建源

.net - 是否有关于如何自定义 .NET 4.0 探查器的示例?

css - 我无法编辑的 webtools 中的样式定义

google-chrome-devtools - "Start profiling and reload page"什么时候决定停止自动录制?

google-chrome - CORS 挫败感

javascript - Google Chrome - GET ajax 请求失败

gcc - g++/gcc在展开递归内联函数方面的效果如何?

google-chrome - Chrome Devtools 工作区映射不再有效

javascript - 尝试获取选项卡 URL 时 Chrome 扩展 : Background. js "Uncaught TypeError"

html - Chrome (Mac/Windows) 中的第一个子列表项未对齐