Сумма dur в файле трассировки полных событий инструментов Chrome Dev
У меня есть файл трассировки из инструментов Chrome dev для определенного рабочего процесса моего веб-приложения. Я пытаюсь подсчитать общее время, затраченное на рабочий процесс.
Я делаю это с помощью скрипта 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