我有来自chrome dev工具的跟踪文件,用于我的Web应用程序的特定工作流程。我想弄清楚工作流程所花费的总时间。
我正在使用Puppeteer脚本及其跟踪功能来执行此操作。我通读了跟踪文件JSON,并按阶段类型-“ X”进行了过滤,这是完整事件。过滤后,我总结了所有“ dur”字段,并且我相信这应该给我整个工作流程的时间。
结果相当差。总持续时间太大,甚至无法考虑远程接近我在屏幕上可以看到的东西。
假设该时间以毫秒微秒为单位(除了在本文末尾链接的文档中,没有在JSON中提到它)。
我还需要过滤其他任何字段吗? (可能重复吗?)
// filter out only complete events
const allCompleteEvents = parsedJSON.filter(e => e.ph === 'X')
.map(completeEvent => {
const {pid, tid, dur, name} = completeEvent;
return { pid, tid, dur, name}
});
// sum of durations...this number is way too big to be correct!
const completeEventsDuration = completeEvents.reduce((total, curr) => total + curr.dur, 0);
参考:https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#