Chrome Performance Summary != Performance.getMetrics()
От: VladCore  
Дата: 02.09.19 08:57
Оценка:
Юзаю Performance.getMetrics()

И оно не очень то пересекается с табом Performance в хроме

Вот есть в хроме на вкладке Performance такой Summary:


И вот что возвращает Performance.getMetrics() той же страницы но другой запуск:

{ metrics:
   [ { name: 'Timestamp', value: 158.604627 },
     { name: 'AudioHandlers', value: 0 },
     { name: 'Documents', value: 2 }, // Один документ должен быть. что за второй? я открываю хром с начальной url "about:blank" потом делаю NaviagteTo на приложение
     { name: 'Frames', value: 2 },
     { name: 'JSEventListeners', value: 90 }, // ОТКУДА 90 штук? страница делает 3 fetch и 1 одно подключение к WebSocket. Полей ввода - нету. Есть 10 кнопок
     { name: 'LayoutObjects', value: 1183 }, // что такое LayoutObjects и что не LayoutObjects?
     { name: 'MediaKeySessions', value: 0 },
     { name: 'MediaKeys', value: 0 },
     { name: 'Nodes', value: 1449 },
     { name: 'Resources', value: 65 }, // врёт
     { name: 'ScriptPromises', value: 0 },
     { name: 'ContextLifecycleStateObservers', value: 1 },
     { name: 'V8PerContextDatas', value: 1 },
     { name: 'WorkerGlobalScopes', value: 1 },
     { name: 'UACSSResources', value: 0 },
     { name: 'RTCPeerConnections', value: 0 },
     { name: 'ResourceFetchers', value: 3 },
     { name: 'AdSubframes', value: 0 },
     { name: 'DetachedScriptStates', value: 1 },
     { name: 'LayoutCount', value: 71 },
     { name: 'RecalcStyleCount', value: 94 },
     { name: 'LayoutDuration', value: 0.34066 },
     { name: 'RecalcStyleDuration', value: 0.241939 },
     { name: 'ScriptDuration', value: 0.973606 },   // ЕДИНСТВЕННАЯ ПОНЯТНАЯ МЕТРИКА
     { name: 'V8CompileDuration', value: 0.001962 }, // КРУТОЙ КОКМПИЛЯТОР - мегабайт яваскрипта за 2 миллисекунды!
     { name: 'TaskDuration', value: 1.844572 }, // КАКОЙ ТАСК?
     { name: 'TaskOtherDuration', value: 0.288367 }, // КАКОЙ ТАСК?
     { name: 'ThreadTime', value: 1.608136 }, // как оно считается и что именно?
     
     { name: 'JSHeapUsedSize', value: 14300568 }, // круто
     { name: 'JSHeapTotalSize', value: 23142400 }, // круто
     
     { name: 'FirstMeaningfulPaint', value: 157.789889 }, // круто
     { name: 'DomContentLoaded', value: 156.661882 }, // круто
     // Это про первый документ или про последний? :xz:
     { name: 'NavigationStart', value: 155.925388 } ] 
}


Только на Scripting есть похожая метрика: ScriptDuration


Вот тут словарь есть:
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-tree-construction

вот цитата оттуда с вопросами подчеркиванием:

Here's a quick recap of the browser's steps:

Process HTML markup and build the DOM tree. Это DomContentLoaded — NavigationStart?
Process CSS markup and build the CSSOM tree. непонятно где это?
Combine the DOM and CSSOM into a render tree. непонятно где это?
Run layout on the render tree to compute geometry of each node. Это LayoutDuration + RecalcStyleDuration?
Paint the individual nodes to the screen. непонятно где это?


Итого

Есть справка хотя бы где нибудь в исходниках про метрики из Performance.getMetrics()?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.