devtools-tracing 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/.vscode/launch.json +20 -0
  2. package/README.md +57 -2
  3. package/dist/index.d.ts +4 -1
  4. package/dist/index.js +76804 -18793
  5. package/dist/lib/front_end/core/common/App.d.ts +3 -0
  6. package/dist/lib/front_end/core/common/AppProvider.d.ts +12 -0
  7. package/dist/lib/front_end/core/common/Base64.d.ts +11 -0
  8. package/dist/lib/front_end/core/common/CharacterIdMap.d.ts +5 -0
  9. package/dist/lib/front_end/core/common/Color.d.ts +383 -0
  10. package/dist/lib/front_end/core/common/ColorConverter.d.ts +24 -0
  11. package/dist/lib/front_end/core/common/ColorUtils.d.ts +45 -0
  12. package/dist/lib/front_end/core/common/Console.d.ts +54 -0
  13. package/dist/lib/front_end/core/common/Debouncer.d.ts +6 -0
  14. package/dist/lib/front_end/core/common/EventTarget.d.ts +23 -0
  15. package/dist/lib/front_end/core/common/Gzip.d.ts +21 -0
  16. package/dist/lib/front_end/core/common/JavaScriptMetaData.d.ts +20 -0
  17. package/dist/lib/front_end/core/common/Lazy.d.ts +4 -0
  18. package/dist/lib/front_end/core/common/MapWithDefault.d.ts +9 -0
  19. package/dist/lib/front_end/core/common/Mutex.d.ts +13 -0
  20. package/dist/lib/front_end/core/common/Object.d.ts +25 -0
  21. package/dist/lib/front_end/core/common/ParsedURL.d.ts +87 -0
  22. package/dist/lib/front_end/core/common/Progress.d.ts +47 -0
  23. package/dist/lib/front_end/core/common/ResolverBase.d.ts +29 -0
  24. package/dist/lib/front_end/core/common/ResourceType.d.ts +89 -0
  25. package/dist/lib/front_end/core/common/ReturnToPanel.d.ts +10 -0
  26. package/dist/lib/front_end/core/common/Revealer.d.ts +79 -0
  27. package/dist/lib/front_end/core/common/Runnable.d.ts +14 -0
  28. package/dist/lib/front_end/core/common/SegmentedRange.d.ts +14 -0
  29. package/dist/lib/front_end/core/common/SettingRegistration.d.ts +175 -0
  30. package/dist/lib/front_end/core/common/Settings.d.ts +168 -0
  31. package/dist/lib/front_end/core/common/SimpleHistoryManager.d.ts +20 -0
  32. package/dist/lib/front_end/core/common/Srcset.d.ts +16 -0
  33. package/dist/lib/front_end/core/common/StringOutputStream.d.ts +10 -0
  34. package/dist/lib/front_end/core/common/TextDictionary.d.ts +11 -0
  35. package/dist/lib/front_end/core/common/Throttler.d.ts +12 -0
  36. package/dist/lib/front_end/core/common/Trie.d.ts +24 -0
  37. package/dist/lib/front_end/core/common/VersionController.d.ts +80 -0
  38. package/dist/lib/front_end/core/common/common.d.ts +35 -0
  39. package/dist/lib/front_end/core/host/AidaClient.d.ts +369 -0
  40. package/dist/lib/front_end/core/host/AidaGcaTranslation.d.ts +9 -0
  41. package/dist/lib/front_end/core/host/DispatchHttpRequestClient.d.ts +14 -0
  42. package/dist/lib/front_end/core/host/GcaTypes.d.ts +405 -0
  43. package/dist/lib/front_end/core/host/GdpClient.d.ts +84 -0
  44. package/dist/lib/front_end/core/host/InspectorFrontendHost.d.ts +29 -0
  45. package/dist/lib/front_end/core/host/InspectorFrontendHostAPI.d.ts +414 -0
  46. package/dist/lib/front_end/core/host/InspectorFrontendHostStub.d.ts +151 -0
  47. package/dist/lib/front_end/core/host/Platform.d.ts +11 -0
  48. package/dist/lib/front_end/core/host/ResourceLoader.d.ts +15 -0
  49. package/dist/lib/front_end/core/host/UserMetrics.d.ts +935 -0
  50. package/dist/lib/front_end/core/host/host.d.ts +12 -0
  51. package/dist/lib/front_end/core/i18n/ByteUtilities.d.ts +11 -0
  52. package/dist/lib/front_end/core/i18n/DevToolsLocale.d.ts +41 -0
  53. package/dist/lib/front_end/core/i18n/NumberFormatter.d.ts +11 -0
  54. package/dist/lib/front_end/core/i18n/i18n.d.ts +6 -0
  55. package/dist/lib/front_end/core/i18n/i18nImpl.d.ts +64 -0
  56. package/dist/lib/front_end/core/i18n/i18nTypes.d.ts +5 -0
  57. package/dist/lib/front_end/core/i18n/time-utilities.d.ts +16 -0
  58. package/dist/lib/front_end/core/platform/ArrayUtilities.d.ts +69 -0
  59. package/dist/lib/front_end/core/platform/Brand.d.ts +21 -0
  60. package/dist/lib/front_end/core/platform/Constructor.d.ts +3 -0
  61. package/dist/lib/front_end/core/platform/DateUtilities.d.ts +2 -0
  62. package/dist/lib/front_end/core/platform/DevToolsPath.d.ts +44 -0
  63. package/dist/lib/front_end/core/platform/HostRuntime.d.ts +3 -0
  64. package/dist/lib/front_end/core/platform/KeyboardUtilities.d.ts +21 -0
  65. package/dist/lib/front_end/core/platform/MapUtilities.d.ts +19 -0
  66. package/dist/lib/front_end/core/platform/MimeType.d.ts +28 -0
  67. package/dist/lib/front_end/core/platform/NumberUtilities.d.ts +14 -0
  68. package/dist/lib/front_end/core/platform/StringUtilities.d.ts +77 -0
  69. package/dist/lib/front_end/core/platform/Timing.d.ts +6 -0
  70. package/dist/lib/front_end/core/platform/TypedArrayUtilities.d.ts +34 -0
  71. package/dist/lib/front_end/core/platform/TypescriptUtilities.d.ts +66 -0
  72. package/dist/lib/front_end/core/platform/UIString.d.ts +3 -0
  73. package/dist/lib/front_end/core/platform/UserVisibleError.d.ts +12 -0
  74. package/dist/lib/front_end/core/platform/api/HostRuntime.d.ts +33 -0
  75. package/dist/lib/front_end/core/platform/api/api.d.ts +2 -0
  76. package/dist/lib/front_end/core/platform/platform.d.ts +18 -0
  77. package/dist/lib/front_end/core/protocol_client/CDPConnection.d.ts +77 -0
  78. package/dist/lib/front_end/core/protocol_client/ConnectionTransport.d.ts +9 -0
  79. package/dist/lib/front_end/core/protocol_client/DevToolsCDPConnection.d.ts +19 -0
  80. package/dist/lib/front_end/core/protocol_client/InspectorBackend.d.ts +221 -0
  81. package/dist/lib/front_end/core/protocol_client/protocol_client.d.ts +5 -0
  82. package/dist/lib/front_end/core/root/DevToolsContext.d.ts +34 -0
  83. package/dist/lib/front_end/core/root/ExperimentNames.d.ts +19 -0
  84. package/dist/lib/front_end/core/root/Runtime.d.ts +339 -0
  85. package/dist/lib/front_end/core/root/root.d.ts +4 -0
  86. package/dist/lib/front_end/core/sdk/AccessibilityModel.d.ts +68 -0
  87. package/dist/lib/front_end/core/sdk/AnimationModel.d.ts +161 -0
  88. package/dist/lib/front_end/core/sdk/AutofillModel.d.ts +23 -0
  89. package/dist/lib/front_end/core/sdk/CPUProfilerModel.d.ts +42 -0
  90. package/dist/lib/front_end/core/sdk/CPUThrottlingManager.d.ts +57 -0
  91. package/dist/lib/front_end/core/sdk/CSSContainerQuery.d.ts +41 -0
  92. package/dist/lib/front_end/core/sdk/CSSFontFace.d.ts +10 -0
  93. package/dist/lib/front_end/core/sdk/CSSLayer.d.ts +9 -0
  94. package/dist/lib/front_end/core/sdk/CSSMatchedStyles.d.ts +116 -0
  95. package/dist/lib/front_end/core/sdk/CSSMedia.d.ts +36 -0
  96. package/dist/lib/front_end/core/sdk/CSSMetadata.d.ts +85 -0
  97. package/dist/lib/front_end/core/sdk/CSSModel.d.ts +186 -0
  98. package/dist/lib/front_end/core/sdk/CSSNavigation.d.ts +10 -0
  99. package/dist/lib/front_end/core/sdk/CSSProperty.d.ts +53 -0
  100. package/dist/lib/front_end/core/sdk/CSSPropertyParser.d.ts +140 -0
  101. package/dist/lib/front_end/core/sdk/CSSPropertyParserMatchers.d.ts +599 -0
  102. package/dist/lib/front_end/core/sdk/CSSQuery.d.ts +21 -0
  103. package/dist/lib/front_end/core/sdk/CSSRule.d.ts +128 -0
  104. package/dist/lib/front_end/core/sdk/CSSScope.d.ts +9 -0
  105. package/dist/lib/front_end/core/sdk/CSSStartingStyle.d.ts +9 -0
  106. package/dist/lib/front_end/core/sdk/CSSStyleDeclaration.d.ts +38 -0
  107. package/dist/lib/front_end/core/sdk/CSSStyleSheetHeader.d.ts +53 -0
  108. package/dist/lib/front_end/core/sdk/CSSSupports.d.ts +10 -0
  109. package/dist/lib/front_end/core/sdk/CategorizedBreakpoint.d.ts +43 -0
  110. package/dist/lib/front_end/core/sdk/ChildTargetManager.d.ts +40 -0
  111. package/dist/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.d.ts +12 -0
  112. package/dist/lib/front_end/core/sdk/Connections.d.ts +36 -0
  113. package/dist/lib/front_end/core/sdk/ConsoleModel.d.ts +124 -0
  114. package/dist/lib/front_end/core/sdk/ConsoleModelTypes.d.ts +6 -0
  115. package/dist/lib/front_end/core/sdk/Cookie.d.ts +68 -0
  116. package/dist/lib/front_end/core/sdk/CookieModel.d.ts +31 -0
  117. package/dist/lib/front_end/core/sdk/CookieParser.d.ts +14 -0
  118. package/dist/lib/front_end/core/sdk/DOMDebuggerModel.d.ts +123 -0
  119. package/dist/lib/front_end/core/sdk/DOMModel.d.ts +378 -0
  120. package/dist/lib/front_end/core/sdk/DebuggerModel.d.ts +269 -0
  121. package/dist/lib/front_end/core/sdk/EmulationModel.d.ts +92 -0
  122. package/dist/lib/front_end/core/sdk/EnhancedTracesParser.d.ts +105 -0
  123. package/dist/lib/front_end/core/sdk/EventBreakpointsModel.d.ts +63 -0
  124. package/dist/lib/front_end/core/sdk/FrameAssociated.d.ts +6 -0
  125. package/dist/lib/front_end/core/sdk/FrameManager.d.ts +68 -0
  126. package/dist/lib/front_end/core/sdk/HeapProfilerModel.d.ts +75 -0
  127. package/dist/lib/front_end/core/sdk/HttpReasonPhraseStrings.d.ts +5 -0
  128. package/dist/lib/front_end/core/sdk/IOModel.d.ts +10 -0
  129. package/dist/lib/front_end/core/sdk/IsolateManager.d.ts +52 -0
  130. package/dist/lib/front_end/core/sdk/IssuesModel.d.ts +28 -0
  131. package/dist/lib/front_end/core/sdk/LayerTreeBase.d.ts +70 -0
  132. package/dist/lib/front_end/core/sdk/LogModel.d.ts +20 -0
  133. package/dist/lib/front_end/core/sdk/NetworkManager.d.ts +414 -0
  134. package/dist/lib/front_end/core/sdk/NetworkRequest.d.ts +424 -0
  135. package/dist/lib/front_end/core/sdk/OverlayColorGenerator.d.ts +14 -0
  136. package/dist/lib/front_end/core/sdk/OverlayModel.d.ts +161 -0
  137. package/dist/lib/front_end/core/sdk/OverlayPersistentHighlighter.d.ts +116 -0
  138. package/dist/lib/front_end/core/sdk/PageLoad.d.ts +14 -0
  139. package/dist/lib/front_end/core/sdk/PageResourceLoader.d.ts +111 -0
  140. package/dist/lib/front_end/core/sdk/PaintProfiler.d.ts +43 -0
  141. package/dist/lib/front_end/core/sdk/PerformanceMetricsModel.d.ts +12 -0
  142. package/dist/lib/front_end/core/sdk/PreloadingModel.d.ts +146 -0
  143. package/dist/lib/front_end/core/sdk/RehydratingConnection.d.ts +57 -0
  144. package/dist/lib/front_end/core/sdk/RehydratingObject.d.ts +59 -0
  145. package/dist/lib/front_end/core/sdk/RemoteObject.d.ts +199 -0
  146. package/dist/lib/front_end/core/sdk/Resource.d.ts +34 -0
  147. package/dist/lib/front_end/core/sdk/ResourceTreeModel.d.ts +249 -0
  148. package/dist/lib/front_end/core/sdk/RuntimeModel.d.ts +158 -0
  149. package/dist/lib/front_end/core/sdk/SDKModel.d.ts +30 -0
  150. package/dist/lib/front_end/core/sdk/ScopeTreeCache.d.ts +21 -0
  151. package/dist/lib/front_end/core/sdk/ScreenCaptureModel.d.ts +69 -0
  152. package/dist/lib/front_end/core/sdk/Script.d.ts +125 -0
  153. package/dist/lib/front_end/core/sdk/SecurityOriginManager.d.ts +23 -0
  154. package/dist/lib/front_end/core/sdk/ServerSentEvents.d.ts +18 -0
  155. package/dist/lib/front_end/core/sdk/ServerSentEventsProtocol.d.ts +18 -0
  156. package/dist/lib/front_end/core/sdk/ServerTiming.d.ts +24 -0
  157. package/dist/lib/front_end/core/sdk/ServiceWorkerCacheModel.d.ts +79 -0
  158. package/dist/lib/front_end/core/sdk/ServiceWorkerManager.d.ts +130 -0
  159. package/dist/lib/front_end/core/sdk/SourceMap.d.ts +173 -0
  160. package/dist/lib/front_end/core/sdk/SourceMapCache.d.ts +11 -0
  161. package/dist/lib/front_end/core/sdk/SourceMapFunctionRanges.d.ts +26 -0
  162. package/dist/lib/front_end/core/sdk/SourceMapManager.d.ts +44 -0
  163. package/dist/lib/front_end/core/sdk/SourceMapScopeChainEntry.d.ts +20 -0
  164. package/dist/lib/front_end/core/sdk/SourceMapScopesInfo.d.ts +123 -0
  165. package/dist/lib/front_end/core/sdk/StorageBucketsModel.d.ts +56 -0
  166. package/dist/lib/front_end/core/sdk/StorageKeyManager.d.ts +38 -0
  167. package/dist/lib/front_end/core/sdk/Target.d.ts +71 -0
  168. package/dist/lib/front_end/core/sdk/TargetManager.d.ts +84 -0
  169. package/dist/lib/front_end/core/sdk/TraceObject.d.ts +37 -0
  170. package/dist/lib/front_end/core/sdk/WebAuthnModel.d.ts +29 -0
  171. package/dist/lib/front_end/core/sdk/WebMCPModel.d.ts +21 -0
  172. package/dist/lib/front_end/core/sdk/sdk.d.ts +90 -0
  173. package/dist/lib/front_end/entrypoints/formatter_worker/FormatterActions.d.ts +48 -0
  174. package/dist/lib/front_end/generated/InspectorBackendCommands.d.ts +14 -0
  175. package/dist/lib/front_end/generated/protocol.d.ts +21618 -0
  176. package/dist/lib/front_end/models/cpu_profile/CPUProfileDataModel.d.ts +104 -0
  177. package/dist/lib/front_end/models/cpu_profile/ProfileTreeModel.d.ts +29 -0
  178. package/dist/lib/front_end/models/cpu_profile/cpu_profile.d.ts +3 -0
  179. package/dist/lib/front_end/models/crux-manager/CrUXManager.d.ts +104 -0
  180. package/dist/lib/front_end/models/crux-manager/crux-manager.d.ts +1 -0
  181. package/dist/lib/front_end/models/emulation/DeviceModeModel.d.ts +135 -0
  182. package/dist/lib/front_end/models/emulation/EmulatedDevices.d.ts +680 -0
  183. package/dist/lib/front_end/models/emulation/emulation.d.ts +3 -0
  184. package/dist/lib/front_end/models/formatter/FormatterWorkerPool.d.ts +58 -0
  185. package/dist/lib/front_end/models/formatter/ScriptFormatter.d.ts +11 -0
  186. package/dist/lib/front_end/models/formatter/formatter.d.ts +3 -0
  187. package/dist/lib/front_end/models/geometry/GeometryImpl.d.ts +105 -0
  188. package/dist/lib/front_end/models/geometry/geometry.d.ts +1 -0
  189. package/dist/lib/front_end/models/text_utils/CodeMirrorUtils.d.ts +3 -0
  190. package/dist/lib/front_end/models/text_utils/ContentData.d.ts +74 -0
  191. package/dist/lib/front_end/models/text_utils/ContentProvider.d.ts +42 -0
  192. package/dist/lib/front_end/models/text_utils/StaticContentProvider.d.ts +13 -0
  193. package/dist/lib/front_end/models/text_utils/StreamingContentData.d.ts +49 -0
  194. package/dist/lib/front_end/models/text_utils/Text.d.ts +19 -0
  195. package/dist/lib/front_end/models/text_utils/TextCursor.d.ts +9 -0
  196. package/dist/lib/front_end/models/text_utils/TextRange.d.ts +80 -0
  197. package/dist/lib/front_end/models/text_utils/TextUtils.d.ts +97 -0
  198. package/dist/lib/front_end/models/text_utils/WasmDisassembly.d.ts +29 -0
  199. package/dist/lib/front_end/models/text_utils/text_utils.d.ts +11 -0
  200. package/dist/lib/front_end/models/trace/EntityMapper.d.ts +33 -0
  201. package/dist/lib/front_end/models/trace/EventsSerializer.d.ts +11 -0
  202. package/dist/lib/front_end/models/trace/LanternComputationData.d.ts +8 -0
  203. package/dist/lib/front_end/models/trace/ModelImpl.d.ts +103 -0
  204. package/dist/lib/front_end/models/trace/Name.d.ts +12 -0
  205. package/dist/lib/front_end/models/trace/Processor.d.ts +39 -0
  206. package/dist/lib/front_end/models/trace/Styles.d.ts +50 -0
  207. package/dist/lib/front_end/models/trace/extras/FilmStrip.d.ts +19 -0
  208. package/dist/lib/front_end/models/trace/extras/Initiators.d.ts +12 -0
  209. package/dist/lib/front_end/models/trace/extras/MainThreadActivity.d.ts +2 -0
  210. package/dist/lib/front_end/models/trace/extras/ScriptDuplication.d.ts +52 -0
  211. package/dist/lib/front_end/models/trace/extras/StackTraceForEvent.d.ts +12 -0
  212. package/dist/lib/front_end/models/trace/extras/ThirdParties.d.ts +22 -0
  213. package/dist/lib/front_end/models/trace/extras/TraceFilter.d.ts +21 -0
  214. package/dist/lib/front_end/models/trace/extras/TraceTree.d.ts +125 -0
  215. package/dist/lib/front_end/models/trace/extras/extras.d.ts +8 -0
  216. package/dist/lib/front_end/models/trace/handlers/AnimationFramesHandler.d.ts +12 -0
  217. package/dist/lib/front_end/models/trace/handlers/AnimationHandler.d.ts +8 -0
  218. package/dist/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.d.ts +20 -0
  219. package/dist/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.d.ts +8 -0
  220. package/dist/lib/front_end/models/trace/handlers/DOMStatsHandler.d.ts +8 -0
  221. package/dist/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.d.ts +106 -0
  222. package/dist/lib/front_end/models/trace/handlers/FlowsHandler.d.ts +7 -0
  223. package/dist/lib/front_end/models/trace/handlers/FramesHandler.d.ts +94 -0
  224. package/dist/lib/front_end/models/trace/handlers/GPUHandler.d.ts +10 -0
  225. package/dist/lib/front_end/models/trace/handlers/ImagePaintingHandler.d.ts +17 -0
  226. package/dist/lib/front_end/models/trace/handlers/InitiatorsHandler.d.ts +20 -0
  227. package/dist/lib/front_end/models/trace/handlers/InvalidationsHandler.d.ts +11 -0
  228. package/dist/lib/front_end/models/trace/handlers/LargestImagePaintHandler.d.ts +10 -0
  229. package/dist/lib/front_end/models/trace/handlers/LargestTextPaintHandler.d.ts +6 -0
  230. package/dist/lib/front_end/models/trace/handlers/LayerTreeHandler.d.ts +12 -0
  231. package/dist/lib/front_end/models/trace/handlers/LayoutShiftsHandler.d.ts +58 -0
  232. package/dist/lib/front_end/models/trace/handlers/MemoryHandler.d.ts +8 -0
  233. package/dist/lib/front_end/models/trace/handlers/MetaHandler.d.ts +82 -0
  234. package/dist/lib/front_end/models/trace/handlers/ModelHandlers.d.ts +30 -0
  235. package/dist/lib/front_end/models/trace/handlers/NetworkRequestsHandler.d.ts +56 -0
  236. package/dist/lib/front_end/models/trace/handlers/PageFramesHandler.d.ts +8 -0
  237. package/dist/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.d.ts +86 -0
  238. package/dist/lib/front_end/models/trace/handlers/RendererHandler.d.ts +100 -0
  239. package/dist/lib/front_end/models/trace/handlers/SamplesHandler.d.ts +46 -0
  240. package/dist/lib/front_end/models/trace/handlers/ScreenshotsHandler.d.ts +12 -0
  241. package/dist/lib/front_end/models/trace/handlers/ScriptsHandler.d.ts +43 -0
  242. package/dist/lib/front_end/models/trace/handlers/SelectorStatsHandler.d.ts +27 -0
  243. package/dist/lib/front_end/models/trace/handlers/Threads.d.ts +34 -0
  244. package/dist/lib/front_end/models/trace/handlers/UserInteractionsHandler.d.ts +78 -0
  245. package/dist/lib/front_end/models/trace/handlers/UserTimingsHandler.d.ts +54 -0
  246. package/dist/lib/front_end/models/trace/handlers/WarningsHandler.d.ts +14 -0
  247. package/dist/lib/front_end/models/trace/handlers/WorkersHandler.d.ts +10 -0
  248. package/dist/lib/front_end/models/trace/handlers/handlers.d.ts +4 -0
  249. package/dist/lib/front_end/models/trace/handlers/helpers.d.ts +21 -0
  250. package/dist/lib/front_end/models/trace/handlers/types.d.ts +54 -0
  251. package/dist/lib/front_end/models/trace/helpers/Extensions.d.ts +6 -0
  252. package/dist/lib/front_end/models/trace/helpers/Network.d.ts +26 -0
  253. package/dist/lib/front_end/models/trace/helpers/SamplesIntegrator.d.ts +62 -0
  254. package/dist/lib/front_end/models/trace/helpers/SyntheticEvents.d.ts +13 -0
  255. package/dist/lib/front_end/models/trace/helpers/Timing.d.ts +59 -0
  256. package/dist/lib/front_end/models/trace/helpers/Trace.d.ts +148 -0
  257. package/dist/lib/front_end/models/trace/helpers/TreeHelpers.d.ts +109 -0
  258. package/dist/lib/front_end/models/trace/helpers/helpers.d.ts +7 -0
  259. package/dist/lib/front_end/models/trace/insights/CLSCulprits.d.ts +137 -0
  260. package/dist/lib/front_end/models/trace/insights/Cache.d.ts +71 -0
  261. package/dist/lib/front_end/models/trace/insights/CharacterSet.d.ts +49 -0
  262. package/dist/lib/front_end/models/trace/insights/Common.d.ts +77 -0
  263. package/dist/lib/front_end/models/trace/insights/DOMSize.d.ts +71 -0
  264. package/dist/lib/front_end/models/trace/insights/DocumentLatency.d.ts +66 -0
  265. package/dist/lib/front_end/models/trace/insights/DuplicatedJavaScript.d.ts +29 -0
  266. package/dist/lib/front_end/models/trace/insights/FontDisplay.d.ts +28 -0
  267. package/dist/lib/front_end/models/trace/insights/ForcedReflow.d.ts +56 -0
  268. package/dist/lib/front_end/models/trace/insights/INPBreakdown.d.ts +50 -0
  269. package/dist/lib/front_end/models/trace/insights/ImageDelivery.d.ts +95 -0
  270. package/dist/lib/front_end/models/trace/insights/LCPBreakdown.d.ts +85 -0
  271. package/dist/lib/front_end/models/trace/insights/LCPDiscovery.d.ts +64 -0
  272. package/dist/lib/front_end/models/trace/insights/LegacyJavaScript.d.ts +35 -0
  273. package/dist/lib/front_end/models/trace/insights/Models.d.ts +19 -0
  274. package/dist/lib/front_end/models/trace/insights/ModernHTTP.d.ts +53 -0
  275. package/dist/lib/front_end/models/trace/insights/NetworkDependencyTree.d.ts +135 -0
  276. package/dist/lib/front_end/models/trace/insights/RenderBlocking.d.ts +34 -0
  277. package/dist/lib/front_end/models/trace/insights/SlowCSSSelector.d.ts +56 -0
  278. package/dist/lib/front_end/models/trace/insights/Statistics.d.ts +18 -0
  279. package/dist/lib/front_end/models/trace/insights/ThirdParties.d.ts +33 -0
  280. package/dist/lib/front_end/models/trace/insights/Viewport.d.ts +24 -0
  281. package/dist/lib/front_end/models/trace/insights/insights.d.ts +6 -0
  282. package/dist/lib/front_end/models/trace/insights/types.d.ts +143 -0
  283. package/dist/lib/front_end/models/trace/lantern/core/LanternError.d.ts +3 -0
  284. package/dist/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.d.ts +112 -0
  285. package/dist/lib/front_end/models/trace/lantern/core/core.d.ts +2 -0
  286. package/dist/lib/front_end/models/trace/lantern/graph/BaseNode.d.ts +98 -0
  287. package/dist/lib/front_end/models/trace/lantern/graph/CPUNode.d.ts +24 -0
  288. package/dist/lib/front_end/models/trace/lantern/graph/NetworkNode.d.ts +22 -0
  289. package/dist/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.d.ts +43 -0
  290. package/dist/lib/front_end/models/trace/lantern/graph/graph.d.ts +4 -0
  291. package/dist/lib/front_end/models/trace/lantern/lantern.d.ts +6 -0
  292. package/dist/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.d.ts +40 -0
  293. package/dist/lib/front_end/models/trace/lantern/metrics/Interactive.d.ts +12 -0
  294. package/dist/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.d.ts +17 -0
  295. package/dist/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.d.ts +14 -0
  296. package/dist/lib/front_end/models/trace/lantern/metrics/Metric.d.ts +44 -0
  297. package/dist/lib/front_end/models/trace/lantern/metrics/SpeedIndex.d.ts +25 -0
  298. package/dist/lib/front_end/models/trace/lantern/metrics/TBTUtils.d.ts +31 -0
  299. package/dist/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.d.ts +16 -0
  300. package/dist/lib/front_end/models/trace/lantern/metrics/metrics.d.ts +8 -0
  301. package/dist/lib/front_end/models/trace/lantern/simulation/ConnectionPool.d.ts +26 -0
  302. package/dist/lib/front_end/models/trace/lantern/simulation/Constants.d.ts +31 -0
  303. package/dist/lib/front_end/models/trace/lantern/simulation/DNSCache.d.ts +22 -0
  304. package/dist/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.d.ts +62 -0
  305. package/dist/lib/front_end/models/trace/lantern/simulation/Simulator.d.ts +84 -0
  306. package/dist/lib/front_end/models/trace/lantern/simulation/TCPConnection.d.ts +47 -0
  307. package/dist/lib/front_end/models/trace/lantern/simulation/simulation.d.ts +6 -0
  308. package/dist/lib/front_end/models/trace/lantern/types/Lantern.d.ts +196 -0
  309. package/dist/lib/front_end/models/trace/lantern/types/types.d.ts +1 -0
  310. package/dist/lib/front_end/models/trace/trace.d.ts +14 -0
  311. package/dist/lib/front_end/models/trace/types/Configuration.d.ts +87 -0
  312. package/dist/lib/front_end/models/trace/types/Extensions.d.ts +77 -0
  313. package/dist/lib/front_end/models/trace/types/File.d.ts +197 -0
  314. package/dist/lib/front_end/models/trace/types/Overlays.d.ts +116 -0
  315. package/dist/lib/front_end/models/trace/types/Timing.d.ts +20 -0
  316. package/dist/lib/front_end/models/trace/types/TraceEvents.d.ts +2452 -0
  317. package/dist/lib/front_end/models/trace/types/types.d.ts +6 -0
  318. package/dist/lib/front_end/third_party/codemirror.next/bundle.d.ts +39 -0
  319. package/dist/lib/front_end/third_party/i18n/i18n-impl.d.ts +25 -0
  320. package/dist/lib/front_end/third_party/i18n/i18n.d.ts +3 -0
  321. package/dist/lib/front_end/third_party/i18n/localized-string-set.d.ts +49 -0
  322. package/dist/lib/front_end/third_party/intl-messageformat/intl-messageformat.d.ts +2 -0
  323. package/dist/lib/front_end/third_party/legacy-javascript/legacy-javascript.d.ts +2 -0
  324. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.d.ts +67 -0
  325. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.d.ts +38 -0
  326. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.d.ts +48 -0
  327. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.d.ts +31 -0
  328. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.d.ts +8 -0
  329. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.d.ts +6 -0
  330. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.d.ts +5 -0
  331. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes.d.ts +168 -0
  332. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/util.d.ts +5 -0
  333. package/dist/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.d.ts +14 -0
  334. package/dist/lib/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.d.ts +1 -0
  335. package/dist/lib/front_end/third_party/third-party-web/third-party-web.d.ts +2 -0
  336. package/dist/src/init.d.ts +1 -0
  337. package/dist/src/sourcemap.d.ts +27 -0
  338. package/dist/src/timeline.d.ts +5 -0
  339. package/examples/inp.ts +34 -0
  340. package/examples/sourcemap.ts +121 -0
  341. package/examples/stats.ts +66 -0
  342. package/package.json +2 -1
@@ -0,0 +1,53 @@
1
+ import * as Handlers from '../handlers/handlers.js';
2
+ import type * as Types from '../types/types.js';
3
+ import { type InsightModel, type InsightSetContext } from './types.js';
4
+ export declare const UIStrings: {
5
+ /**
6
+ * @description Title of an insight that recommends using HTTP/2 over HTTP/1.1 because of the performance benefits. "HTTP" should not be translated.
7
+ */
8
+ readonly title: "Modern HTTP";
9
+ /**
10
+ * @description Description of an insight that recommends recommends using HTTP/2 over HTTP/1.1 because of the performance benefits. "HTTP" should not be translated.
11
+ */
12
+ readonly description: "HTTP/2 and HTTP/3 offer many benefits over HTTP/1.1, such as multiplexing. [Learn more about using modern HTTP](https://developer.chrome.com/docs/performance/insights/modern-http).";
13
+ /**
14
+ * @description Column header for a table where each cell represents a network request.
15
+ */
16
+ readonly request: "Request";
17
+ /**
18
+ * @description Column header for a table where each cell represents the protocol of a network request.
19
+ */
20
+ readonly protocol: "Protocol";
21
+ /**
22
+ * @description Text explaining that there were not requests that were slowed down by using HTTP/1.1. "HTTP/1.1" should not be translated.
23
+ */
24
+ readonly noOldProtocolRequests: "No requests used HTTP/1.1, or its current use of HTTP/1.1 does not present a significant optimization opportunity. HTTP/1.1 requests are only flagged if six or more static assets originate from the same origin, and they are not served from a local development environment or a third-party source.";
25
+ };
26
+ export declare const i18nString: any;
27
+ export type ModernHTTPInsightModel = InsightModel<typeof UIStrings, {
28
+ http1Requests: Types.Events.SyntheticNetworkRequest[];
29
+ }>;
30
+ export declare function isModernHTTPInsight(model: InsightModel): model is ModernHTTPInsightModel;
31
+ /**
32
+ * Determine the set of resources that aren't HTTP/2 but should be.
33
+ * We're a little conservative about what we surface for a few reasons:
34
+ *
35
+ * - The simulator approximation of HTTP/2 is a little more generous than reality.
36
+ * - There's a bit of debate surrounding HTTP/2 due to its worse performance in environments with high packet loss. [1][2][3]
37
+ * - It's something that you'd have absolutely zero control over with a third-party (can't defer to fix it for example).
38
+ *
39
+ * Therefore, we only surface requests that were...
40
+ *
41
+ * - Served over HTTP/1.1 or earlier
42
+ * - Served over an origin that serves at least 6 static asset requests
43
+ * (if there aren't more requests than browser's max/host, multiplexing isn't as big a deal)
44
+ * - Not served on localhost (h2 is a pain to deal with locally & and CI)
45
+ *
46
+ * [1] https://news.ycombinator.com/item?id=19086639
47
+ * [2] https://www.twilio.com/blog/2017/10/http2-issues.html
48
+ * [3] https://www.cachefly.com/http-2-is-not-a-magic-bullet/
49
+ */
50
+ export declare function determineHttp1Requests(requests: Types.Events.SyntheticNetworkRequest[], entityMappings: Handlers.Helpers.EntityMappings, firstPartyEntity: Handlers.Helpers.Entity | null): Types.Events.SyntheticNetworkRequest[];
51
+ export declare function generateInsight(data: Handlers.Types.HandlerData, context: InsightSetContext): ModernHTTPInsightModel;
52
+ export declare function createOverlayForRequest(request: Types.Events.SyntheticNetworkRequest): Types.Overlays.EntryOutline;
53
+ export declare function createOverlays(model: ModernHTTPInsightModel): Types.Overlays.Overlay[];
@@ -0,0 +1,135 @@
1
+ import * as Platform from '../../../core/platform/platform.js';
2
+ import * as Protocol from '../../../generated/protocol.js';
3
+ import type * as Handlers from '../handlers/handlers.js';
4
+ import * as Types from '../types/types.js';
5
+ import { type InsightModel, type InsightSetContext, type InsightSetContextWithNavigation } from './types.js';
6
+ export declare const UIStrings: {
7
+ /**
8
+ * @description Title of an insight that recommends avoiding chaining critical requests.
9
+ */
10
+ readonly title: "Network dependency tree";
11
+ /**
12
+ * @description Description of an insight that recommends avoiding chaining critical requests.
13
+ */
14
+ readonly description: "[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.";
15
+ /**
16
+ * @description Description of the warning that recommends avoiding chaining critical requests.
17
+ */
18
+ readonly warningDescription: "Avoid chaining critical requests by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.";
19
+ /**
20
+ * @description Text status indicating that there isn't long chaining critical network requests.
21
+ */
22
+ readonly noNetworkDependencyTree: "No rendering tasks impacted by network dependencies";
23
+ /**
24
+ * @description Text for the maximum critical path latency. This refers to the longest chain of network requests that
25
+ * the browser must download before it can render the page.
26
+ */
27
+ readonly maxCriticalPathLatency: "Max critical path latency:";
28
+ /** Label for a column in a data table; entries will be the network request */
29
+ readonly columnRequest: "Request";
30
+ /** Label for a column in a data table; entries will be the time from main document till current network request. */
31
+ readonly columnTime: "Time";
32
+ /**
33
+ * @description Title of the table of the detected preconnect origins.
34
+ */
35
+ readonly preconnectOriginsTableTitle: "Preconnected origins";
36
+ /**
37
+ * @description Description of the table of the detected preconnect origins.
38
+ */
39
+ readonly preconnectOriginsTableDescription: "[preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) hints help the browser establish a connection earlier in the page load, saving time when the first request for that origin is made. The following are the origins that the page preconnected to.";
40
+ /**
41
+ * @description Text status indicating that there isn't any preconnected origins.
42
+ */
43
+ readonly noPreconnectOrigins: "no origins were preconnected";
44
+ /**
45
+ * @description A warning message that is shown when found more than 4 preconnected links. "preconnect" should not be translated.
46
+ */
47
+ readonly tooManyPreconnectLinksWarning: "More than 4 `preconnect` connections were found. These should be used sparingly and only to the most important origins.";
48
+ /**
49
+ * @description A warning message that is shown when the user added preconnect for some unnecessary origins. "preconnect" should not be translated.
50
+ */
51
+ readonly unusedWarning: "Unused preconnect. Only use `preconnect` for origins that the page is likely to request.";
52
+ /**
53
+ * @description A warning message that is shown when the user forget to set the `crossorigin` HTML attribute, or setting it to an incorrect value, on the link is a common mistake when adding preconnect links. "preconnect" should not be translated.
54
+ * */
55
+ readonly crossoriginWarning: "Unused preconnect. Check that the `crossorigin` attribute is used properly.";
56
+ /**
57
+ * @description Label for a column in a data table; entries will be the source of the origin.
58
+ */
59
+ readonly columnSource: "Source";
60
+ /**
61
+ * @description Text status indicating that there isn't preconnect candidates.
62
+ */
63
+ readonly noPreconnectCandidates: "No additional origins are good candidates for preconnecting";
64
+ /**
65
+ * @description Title of the table that shows the origins that the page should have preconnected to.
66
+ */
67
+ readonly estSavingTableTitle: "Preconnect candidates";
68
+ /**
69
+ * @description Description of the table that recommends preconnecting to the origins to save time. "preconnect" should not be translated.
70
+ */
71
+ readonly estSavingTableDescription: "Add [preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) hints to your most important origins, but try to use no more than 4.";
72
+ /**
73
+ * @description Label for a column in a data table; entries will be the origin of a web resource
74
+ */
75
+ readonly columnOrigin: "Origin";
76
+ /**
77
+ * @description Label for a column in a data table; entries will be the number of milliseconds the user could reduce page load by if they implemented the suggestions.
78
+ */
79
+ readonly columnWastedMs: "Est LCP savings";
80
+ };
81
+ export declare const i18nString: any;
82
+ export declare const TOO_MANY_PRECONNECTS_THRESHOLD = 4;
83
+ export interface CriticalRequestNode {
84
+ request: Types.Events.SyntheticNetworkRequest;
85
+ timeFromInitialRequest: Types.Timing.Micro;
86
+ children: CriticalRequestNode[];
87
+ isLongest?: boolean;
88
+ relatedRequests: Set<Types.Events.SyntheticNetworkRequest>;
89
+ }
90
+ export type PreconnectedOrigin = PreconnectedOriginFromDom | PreconnectedOriginFromResponseHeader;
91
+ export interface PreconnectedOriginFromDom {
92
+ node_id: Protocol.DOM.BackendNodeId;
93
+ frame?: string;
94
+ url: string;
95
+ unused: boolean;
96
+ crossorigin: boolean;
97
+ source: 'DOM';
98
+ }
99
+ export interface PreconnectedOriginFromResponseHeader {
100
+ url: string;
101
+ headerText: string;
102
+ request: Types.Events.SyntheticNetworkRequest;
103
+ unused: boolean;
104
+ crossorigin: boolean;
105
+ source: 'ResponseHeader';
106
+ }
107
+ export interface PreconnectCandidate {
108
+ origin: Platform.DevToolsPath.UrlString;
109
+ wastedMs: Types.Timing.Milli;
110
+ }
111
+ export type NetworkDependencyTreeInsightModel = InsightModel<typeof UIStrings, {
112
+ rootNodes: CriticalRequestNode[];
113
+ maxTime: Types.Timing.Micro;
114
+ fail: boolean;
115
+ preconnectedOrigins: PreconnectedOrigin[];
116
+ preconnectCandidates: PreconnectCandidate[];
117
+ }>;
118
+ /**
119
+ * Parses an HTTP Link header string into an array of url and related header text.
120
+ *
121
+ * Export the function for test purpose.
122
+ * @param linkHeaderValue The value of the HTTP Link header (e.g., '</style.css>; rel=preload; as=style, <https://example.com>; rel="preconnect"').
123
+ * @returns An array of url and header text objects if it contains `rel=preconnect`.
124
+ */
125
+ export declare function handleLinkResponseHeader(linkHeaderValue: string): Array<{
126
+ url: string;
127
+ headerText: string;
128
+ }>;
129
+ /** Export the function for test purpose. **/
130
+ export declare function generatePreconnectedOrigins(data: Handlers.Types.HandlerData, context: InsightSetContextWithNavigation, contextRequests: Types.Events.SyntheticNetworkRequest[], preconnectCandidates: PreconnectCandidate[]): PreconnectedOrigin[];
131
+ /** Export the function for test purpose. **/
132
+ export declare function generatePreconnectCandidates(data: Handlers.Types.HandlerData, context: InsightSetContextWithNavigation, contextRequests: Types.Events.SyntheticNetworkRequest[]): PreconnectCandidate[];
133
+ export declare function isNetworkDependencyTreeInsight(model: InsightModel): model is NetworkDependencyTreeInsightModel;
134
+ export declare function generateInsight(data: Handlers.Types.HandlerData, context: InsightSetContext): NetworkDependencyTreeInsightModel;
135
+ export declare function createOverlays(model: NetworkDependencyTreeInsightModel): Types.Overlays.Overlay[];
@@ -0,0 +1,34 @@
1
+ import * as Handlers from '../handlers/handlers.js';
2
+ import type * as Types from '../types/types.js';
3
+ import { type InsightModel, type InsightSetContext } from './types.js';
4
+ export declare const UIStrings: {
5
+ /**
6
+ * @description Title of an insight that provides the user with the list of network requests that blocked and therefore slowed down the page rendering and becoming visible to the user.
7
+ */
8
+ readonly title: "Render-blocking requests";
9
+ /**
10
+ * @description Text to describe that there are requests blocking rendering, which may affect LCP.
11
+ */
12
+ readonly description: string;
13
+ /**
14
+ * @description Label to describe a network request (that happens to be render-blocking).
15
+ */
16
+ readonly renderBlockingRequest: "Request";
17
+ /**
18
+ * @description Label used for a time duration.
19
+ */
20
+ readonly duration: "Duration";
21
+ /**
22
+ * @description Text status indicating that no requests blocked the initial render of a navigation
23
+ */
24
+ readonly noRenderBlocking: "No render-blocking requests for this navigation";
25
+ };
26
+ export declare const i18nString: any;
27
+ export declare function isRenderBlockingInsight(insight: InsightModel): insight is RenderBlockingInsightModel;
28
+ export type RenderBlockingInsightModel = InsightModel<typeof UIStrings, {
29
+ renderBlockingRequests: Types.Events.SyntheticNetworkRequest[];
30
+ requestIdToWastedMs?: Map<string, number>;
31
+ }>;
32
+ export declare function generateInsight(data: Handlers.Types.HandlerData, context: InsightSetContext): RenderBlockingInsightModel;
33
+ export declare function createOverlayForRequest(request: Types.Events.SyntheticNetworkRequest): Types.Overlays.EntryOutline;
34
+ export declare function createOverlays(model: RenderBlockingInsightModel): Types.Overlays.Overlay[];
@@ -0,0 +1,56 @@
1
+ import type * as Handlers from '../handlers/handlers.js';
2
+ import * as Types from '../types/types.js';
3
+ import { type InsightModel, type InsightSetContext } from './types.js';
4
+ export declare const UIStrings: {
5
+ /**
6
+ * @description Title of an insight that provides details about slow CSS selectors.
7
+ */
8
+ readonly title: "CSS Selector costs";
9
+ /**
10
+ * @description Text to describe how to improve the performance of CSS selectors.
11
+ */
12
+ readonly description: "If Recalculate Style costs remain high, selector optimization can reduce them. [Optimize the selectors](https://developer.chrome.com/docs/performance/insights/slow-css-selector) with both high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM, and a shallower DOM will all reduce matching costs.";
13
+ /**
14
+ * @description Column name for count of elements that the engine attempted to match against a style rule
15
+ */
16
+ readonly matchAttempts: "Match attempts";
17
+ /**
18
+ * @description Column name for count of elements that matched a style rule
19
+ */
20
+ readonly matchCount: "Match count";
21
+ /**
22
+ * @description Column name for elapsed time spent computing a style rule
23
+ */
24
+ readonly elapsed: "Elapsed time";
25
+ /**
26
+ * @description Column name for the selectors that took the longest amount of time/effort.
27
+ */
28
+ readonly topSelectors: "Top selectors";
29
+ /**
30
+ * @description Column name for a total sum.
31
+ */
32
+ readonly total: "Total";
33
+ /**
34
+ * @description Text status indicating that no CSS selector data was found.
35
+ */
36
+ readonly enableSelectorData: "No CSS selector data was found. CSS selector stats need to be enabled in the performance panel settings.";
37
+ /**
38
+ * @description top CSS selector when ranked by elapsed time in ms
39
+ */
40
+ readonly topSelectorElapsedTime: "Top selector elapsed time";
41
+ /**
42
+ * @description top CSS selector when ranked by match attempt
43
+ */
44
+ readonly topSelectorMatchAttempt: "Top selector match attempt";
45
+ };
46
+ export declare const i18nString: any;
47
+ export type SlowCSSSelectorInsightModel = InsightModel<typeof UIStrings, {
48
+ totalElapsedMs: Types.Timing.Milli;
49
+ totalMatchAttempts: number;
50
+ totalMatchCount: number;
51
+ topSelectorElapsedMs: Types.Events.SelectorTiming | null;
52
+ topSelectorMatchAttempts: Types.Events.SelectorTiming | null;
53
+ }>;
54
+ export declare function isSlowCSSSelectorInsight(model: InsightModel): model is SlowCSSSelectorInsightModel;
55
+ export declare function generateInsight(data: Handlers.Types.HandlerData, context: InsightSetContext): SlowCSSSelectorInsightModel;
56
+ export declare function createOverlays(_: SlowCSSSelectorInsightModel): Types.Overlays.Overlay[];
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Returns the score (1 - percentile) of `value` in a log-normal distribution
3
+ * specified by the `median` value, at which the score will be 0.5, and a 10th
4
+ * percentile value, at which the score will be 0.9. The score represents the
5
+ * amount of the distribution greater than `value`. All values should be in the
6
+ * same units (e.g. milliseconds). See
7
+ * https://www.desmos.com/calculator/o98tbeyt1t
8
+ * for an interactive view of the relationship between these parameters and the
9
+ * typical parameterization (location and shape) of the log-normal distribution.
10
+ */
11
+ export declare function getLogNormalScore({ median, p10 }: {
12
+ median: number;
13
+ p10: number;
14
+ }, value: number): number;
15
+ /**
16
+ * Interpolates the y value at a point x on the line defined by (x0, y0) and (x1, y1)
17
+ */
18
+ export declare function linearInterpolation(x0: number, y0: number, x1: number, y1: number, x: number): number;
@@ -0,0 +1,33 @@
1
+ import * as Extras from '../extras/extras.js';
2
+ import * as Handlers from '../handlers/handlers.js';
3
+ import type * as Types from '../types/types.js';
4
+ import { type InsightModel, type InsightSetContext } from './types.js';
5
+ export declare const UIStrings: {
6
+ /** Title of an insight that provides details about the code on a web page that the user doesn't control (referred to as "third-party code"). */
7
+ readonly title: "3rd parties";
8
+ /**
9
+ * @description Description of a DevTools insight that identifies the code on the page that the user doesn't control.
10
+ * This is displayed after a user expands the section to see more. No character length limits.
11
+ */
12
+ readonly description: string;
13
+ /** Label for a table column that displays the name of a third-party provider. */
14
+ readonly columnThirdParty: "3rd party";
15
+ /** Label for a column in a data table; entries will be the download size of a web resource in kilobytes. */
16
+ readonly columnTransferSize: "Transfer size";
17
+ /** Label for a table column that displays how much time each row spent running on the main thread, entries will be the number of milliseconds spent. */
18
+ readonly columnMainThreadTime: "Main thread time";
19
+ /**
20
+ * @description Text block indicating that no third party content was detected on the page
21
+ */
22
+ readonly noThirdParties: "No third parties found";
23
+ };
24
+ export declare const i18nString: any;
25
+ export type ThirdPartiesInsightModel = InsightModel<typeof UIStrings, {
26
+ /** The entity for this navigation's URL. Any other entity is from a third party. */
27
+ entitySummaries: Extras.ThirdParties.EntitySummary[];
28
+ firstPartyEntity?: Extras.ThirdParties.Entity;
29
+ }>;
30
+ export declare function isThirdPartyInsight(model: InsightModel): model is ThirdPartiesInsightModel;
31
+ export declare function generateInsight(data: Handlers.Types.HandlerData, context: InsightSetContext): ThirdPartiesInsightModel;
32
+ export declare function createOverlaysForSummary(summary: Extras.ThirdParties.EntitySummary): Types.Overlays.Overlay[];
33
+ export declare function createOverlays(model: ThirdPartiesInsightModel): Types.Overlays.Overlay[];
@@ -0,0 +1,24 @@
1
+ import * as Handlers from '../handlers/handlers.js';
2
+ import * as Types from '../types/types.js';
3
+ import { type InsightModel, type InsightSetContext } from './types.js';
4
+ export declare const UIStrings: {
5
+ /** Title of an insight that provides details about if the page's viewport is optimized for mobile viewing. */
6
+ readonly title: "Optimize viewport for mobile";
7
+ /**
8
+ * @description Text to tell the user how a viewport meta element can improve performance. \xa0 is a non-breaking space
9
+ */
10
+ readonly description: "Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport is not optimized for mobile.";
11
+ /**
12
+ * @description Text for a label describing the portion of an interaction event that was delayed due to a bad mobile viewport.
13
+ */
14
+ readonly mobileTapDelayLabel: "Mobile tap delay";
15
+ };
16
+ export declare const i18nString: any;
17
+ export type ViewportInsightModel = InsightModel<typeof UIStrings, {
18
+ mobileOptimized: boolean | null;
19
+ viewportEvent?: Types.Events.ParseMetaViewport;
20
+ longPointerInteractions?: Types.Events.SyntheticInteractionPair[];
21
+ }>;
22
+ export declare function isViewportInsight(model: InsightModel): model is ViewportInsightModel;
23
+ export declare function generateInsight(data: Handlers.Types.HandlerData, context: InsightSetContext): ViewportInsightModel;
24
+ export declare function createOverlays(model: ViewportInsightModel): Types.Overlays.Overlay[];
@@ -0,0 +1,6 @@
1
+ export * as Cache from './Cache.js';
2
+ export * as Common from './Common.js';
3
+ export * as Models from './Models.js';
4
+ export * as ModernHTTP from './ModernHTTP.js';
5
+ export * as Statistics from './Statistics.js';
6
+ export * as Types from './types.js';
@@ -0,0 +1,143 @@
1
+ import type * as Common from '../../../core/common/common.js';
2
+ import type * as Lantern from '../lantern/lantern.js';
3
+ import type * as Types from '../types/types.js';
4
+ import type * as Models from './Models.js';
5
+ /**
6
+ * Context for the portion of the trace an insight should look at.
7
+ */
8
+ export type InsightSetContext = InsightSetContextWithoutNavigation | InsightSetContextWithNavigation;
9
+ export interface InsightSetContextWithoutNavigation {
10
+ options: Types.Configuration.ParseOptions;
11
+ bounds: Types.Timing.TraceWindowMicro;
12
+ frameId: string;
13
+ navigation?: never;
14
+ }
15
+ export interface InsightSetContextWithNavigation {
16
+ options: Types.Configuration.ParseOptions;
17
+ bounds: Types.Timing.TraceWindowMicro;
18
+ frameId: string;
19
+ navigation: Types.Events.NavigationStart;
20
+ navigationId: string;
21
+ lantern?: LanternContext;
22
+ }
23
+ export interface LanternContext {
24
+ requests: Array<Lantern.Types.NetworkRequest<Types.Events.SyntheticNetworkRequest>>;
25
+ graph: Lantern.Graph.Node<Types.Events.SyntheticNetworkRequest>;
26
+ simulator: Lantern.Simulation.Simulator<Types.Events.SyntheticNetworkRequest>;
27
+ metrics: Record<string, Lantern.Metrics.MetricResult>;
28
+ }
29
+ export type InsightModelsType = typeof Models;
30
+ export declare enum InsightWarning {
31
+ NO_FP = "NO_FP",
32
+ NO_LCP = "NO_LCP",
33
+ NO_DOCUMENT_REQUEST = "NO_DOCUMENT_REQUEST",
34
+ NO_LAYOUT = "NO_LAYOUT"
35
+ }
36
+ export interface MetricSavings {
37
+ FCP?: Types.Timing.Milli;
38
+ LCP?: Types.Timing.Milli;
39
+ TBT?: Types.Timing.Milli;
40
+ CLS?: number;
41
+ INP?: Types.Timing.Milli;
42
+ }
43
+ export declare enum InsightCategory {
44
+ ALL = "All",
45
+ INP = "INP",
46
+ LCP = "LCP",
47
+ CLS = "CLS"
48
+ }
49
+ export type RelatedEventsMap = Map<Types.Events.Event, string[]>;
50
+ export type Checklist<Keys extends string> = Record<Keys, {
51
+ label: Common.UIString.LocalizedString;
52
+ value: boolean;
53
+ }>;
54
+ export type InsightModel<UIStrings extends Record<string, string> = Record<string, string>, ExtraDetail extends Record<string, unknown> = Record<string, unknown>> = ExtraDetail & {
55
+ /** Used internally to identify the type of a model, not shown visibly to users **/
56
+ insightKey: keyof InsightModelsType;
57
+ /** Not used within DevTools - this is for external consumers (like Lighthouse). */
58
+ strings: UIStrings;
59
+ title: Common.UIString.LocalizedString;
60
+ description: Common.UIString.LocalizedString;
61
+ docs: string;
62
+ category: InsightCategory;
63
+ state: 'pass' | 'fail' | 'informative';
64
+ /** Used by RelatedInsightChips.ts */
65
+ relatedEvents?: RelatedEventsMap | Types.Events.Event[];
66
+ warnings?: InsightWarning[];
67
+ metricSavings?: MetricSavings;
68
+ /**
69
+ * An estimate for the number of bytes that this insight deems to have been wasted.
70
+ * Bytes are in terms of transfer size: for each component of savings related to an
71
+ * individual request, the insight will estimate its impact on transfer size by using
72
+ * the compression ratio of the resource.
73
+ *
74
+ * This field is only displayed for informational purposes.
75
+ */
76
+ wastedBytes?: number;
77
+ frameId?: string;
78
+ /**
79
+ * If this insight is attached to a navigation, this stores its ID.
80
+ */
81
+ navigation?: Types.Events.NavigationStart;
82
+ /** This is lazily-generated because some insights may create many overlays. */
83
+ createOverlays?: () => Types.Overlays.Overlay[];
84
+ };
85
+ export type PartialInsightModel<T> = Omit<T, 'strings' | 'title' | 'description' | 'docs' | 'category' | 'state' | 'insightKey' | 'navigationId' | 'frameId'>;
86
+ /**
87
+ * Contains insights for a specific navigation. If a trace began after a navigation already started,
88
+ * this could instead represent the duration from the beginning of the trace up to the first recorded
89
+ * navigation (or the end of the trace).
90
+ */
91
+ export interface InsightSet {
92
+ /** If for a navigation, this is of the form "NAVIGATION_(index)". Else it is Trace.Types.Events.NO_NAVIGATION. */
93
+ id: Types.Events.NavigationId;
94
+ /** The URL to show in the accordion list. */
95
+ url: URL;
96
+ frameId: string;
97
+ bounds: Types.Timing.TraceWindowMicro;
98
+ /** Contains results for all non-errored insights. */
99
+ model: InsightModels;
100
+ /** Contains errors for all insights that had an internal error. */
101
+ modelErrors: InsightModelErrors;
102
+ navigation?: Types.Events.NavigationStart;
103
+ }
104
+ /**
105
+ * Contains insights for a specific insight set. If missing, it error'd.
106
+ */
107
+ export type InsightModels = {
108
+ [I in keyof InsightModelsType]?: ReturnType<InsightModelsType[I]['generateInsight']>;
109
+ };
110
+ /**
111
+ * Contains an internal error for each insight in a specific insight set.
112
+ */
113
+ export type InsightModelErrors = {
114
+ [I in keyof InsightModelsType]?: Error;
115
+ };
116
+ /**
117
+ * Contains insights for the entire trace. Insights are mostly grouped by `navigationId`, with one exception:
118
+ *
119
+ * If the analyzed trace started after the navigation, and has meaningful work with that span, there is no
120
+ * navigation to map it to. In this case `Types.Events.NO_NAVIGATION` is used for the key.
121
+ */
122
+ export type TraceInsightSets = Map<Types.Events.NavigationId, InsightSet>;
123
+ export declare const enum InsightKeys {
124
+ LCP_BREAKDOWN = "LCPBreakdown",
125
+ INP_BREAKDOWN = "INPBreakdown",
126
+ CLS_CULPRITS = "CLSCulprits",
127
+ THIRD_PARTIES = "ThirdParties",
128
+ DOCUMENT_LATENCY = "DocumentLatency",
129
+ DOM_SIZE = "DOMSize",
130
+ DUPLICATE_JAVASCRIPT = "DuplicatedJavaScript",
131
+ FONT_DISPLAY = "FontDisplay",
132
+ FORCED_REFLOW = "ForcedReflow",
133
+ IMAGE_DELIVERY = "ImageDelivery",
134
+ LCP_DISCOVERY = "LCPDiscovery",
135
+ LEGACY_JAVASCRIPT = "LegacyJavaScript",
136
+ NETWORK_DEPENDENCY_TREE = "NetworkDependencyTree",
137
+ RENDER_BLOCKING = "RenderBlocking",
138
+ SLOW_CSS_SELECTOR = "SlowCSSSelector",
139
+ VIEWPORT = "Viewport",
140
+ MODERN_HTTP = "ModernHTTP",
141
+ CACHE = "Cache",
142
+ CHARACTER_SET = "CharacterSet"
143
+ }
@@ -0,0 +1,3 @@
1
+ declare class LanternError extends Error {
2
+ }
3
+ export { LanternError };
@@ -0,0 +1,112 @@
1
+ import type * as Lantern from '../types/types.js';
2
+ interface Summary {
3
+ min: number;
4
+ max: number;
5
+ avg: number;
6
+ median: number;
7
+ }
8
+ interface RTTEstimateOptions {
9
+ /**
10
+ * TCP connection handshake information will be used when available, but in
11
+ * some circumstances this data can be unreliable. This flag exposes an
12
+ * option to ignore the handshake data and use the coarse download/TTFB timing data.
13
+ */
14
+ forceCoarseEstimates?: boolean;
15
+ /**
16
+ * Coarse estimates include lots of extra time and noise multiply by some factor
17
+ * to deflate the estimates a bit.
18
+ */
19
+ coarseEstimateMultiplier?: number;
20
+ /** Useful for testing to isolate the different methods of estimation. */
21
+ useDownloadEstimates?: boolean;
22
+ /** Useful for testing to isolate the different methods of estimation. */
23
+ useSendStartEstimates?: boolean;
24
+ /** Useful for testing to isolate the different methods of estimation. */
25
+ useHeadersEndEstimates?: boolean;
26
+ }
27
+ interface RequestInfo {
28
+ request: Lantern.NetworkRequest;
29
+ timing: Lantern.ResourceTiming;
30
+ connectionReused?: boolean;
31
+ }
32
+ declare class NetworkAnalyzer {
33
+ static get summary(): string;
34
+ static groupByOrigin(records: Lantern.NetworkRequest[]): Map<string, Lantern.NetworkRequest[]>;
35
+ static getSummary(values: number[]): Summary;
36
+ static summarize(values: Map<string, number[]>): Map<string, Summary>;
37
+ static estimateValueByOrigin(requests: Lantern.NetworkRequest[], iteratee: (e: RequestInfo) => number | number[] | undefined): Map<string, number[]>;
38
+ /**
39
+ * Estimates the observed RTT to each origin based on how long the connection setup.
40
+ * For h1 and h2, this could includes two estimates - one for the TCP handshake, another for
41
+ * SSL negotiation.
42
+ * For h3, we get only one estimate since QUIC establishes a secure connection in a
43
+ * single handshake.
44
+ * This is the most accurate and preferred method of measurement when the data is available.
45
+ */
46
+ static estimateRTTViaConnectionTiming(info: RequestInfo): number[] | number | undefined;
47
+ /**
48
+ * Estimates the observed RTT to each origin based on how long a download took on a fresh connection.
49
+ * NOTE: this will tend to overestimate the actual RTT quite significantly as the download can be
50
+ * slow for other reasons as well such as bandwidth constraints.
51
+ */
52
+ static estimateRTTViaDownloadTiming(info: RequestInfo): number | undefined;
53
+ /**
54
+ * Estimates the observed RTT to each origin based on how long it took until Chrome could
55
+ * start sending the actual request when a new connection was required.
56
+ * NOTE: this will tend to overestimate the actual RTT as the request can be delayed for other
57
+ * reasons as well such as more SSL handshakes if TLS False Start is not enabled.
58
+ */
59
+ static estimateRTTViaSendStartTiming(info: RequestInfo): number | undefined;
60
+ /**
61
+ * Estimates the observed RTT to each origin based on how long it took until Chrome received the
62
+ * headers of the response (~TTFB).
63
+ * NOTE: this is the most inaccurate way to estimate the RTT, but in some environments it's all
64
+ * we have access to :(
65
+ */
66
+ static estimateRTTViaHeadersEndTiming(info: RequestInfo): number | undefined;
67
+ /**
68
+ * Given the RTT to each origin, estimates the observed server response times.
69
+ */
70
+ static estimateResponseTimeByOrigin(records: Lantern.NetworkRequest[], rttByOrigin: Map<string, number>): Map<string, number[]>;
71
+ static canTrustConnectionInformation(requests: Lantern.NetworkRequest[]): boolean;
72
+ /**
73
+ * Returns a map of requestId -> connectionReused, estimating the information if the information
74
+ * available in the records themselves appears untrustworthy.
75
+ */
76
+ static estimateIfConnectionWasReused(records: Lantern.NetworkRequest[], options?: {
77
+ forceCoarseEstimates: boolean;
78
+ }): Map<string, boolean>;
79
+ /**
80
+ * Estimates the RTT to each origin by examining observed network timing information.
81
+ * Attempts to use the most accurate information first and falls back to coarser estimates when it
82
+ * is unavailable.
83
+ */
84
+ static estimateRTTByOrigin(records: Lantern.NetworkRequest[], options?: RTTEstimateOptions): Map<string, Summary>;
85
+ /**
86
+ * Estimates the server response time of each origin. RTT times can be passed in or will be
87
+ * estimated automatically if not provided.
88
+ */
89
+ static estimateServerResponseTimeByOrigin(records: Lantern.NetworkRequest[], options?: RTTEstimateOptions & {
90
+ rttByOrigin?: Map<string, number>;
91
+ }): Map<string, Summary>;
92
+ /**
93
+ * Computes the average throughput for the given requests in bits/second.
94
+ * Excludes data URI, failed or otherwise incomplete, and cached requests.
95
+ * Returns null if there were no analyzable network requests.
96
+ */
97
+ static estimateThroughput(records: Lantern.NetworkRequest[]): number | null;
98
+ static computeRTTAndServerResponseTime(records: Lantern.NetworkRequest[]): {
99
+ rtt: number;
100
+ additionalRttByOrigin: Map<string, number>;
101
+ serverResponseTimeByOrigin: Map<string, number>;
102
+ };
103
+ static analyze(records: Lantern.NetworkRequest[]): Lantern.Simulation.Settings['networkAnalysis'] | null;
104
+ static findResourceForUrl<T extends Lantern.NetworkRequest>(records: T[], resourceUrl: string): T | undefined;
105
+ static findLastDocumentForUrl<T extends Lantern.NetworkRequest>(records: T[], resourceUrl: string): T | undefined;
106
+ /**
107
+ * Resolves redirect chain given a main document.
108
+ * See: {@link NetworkAnalyzer.findLastDocumentForUrl} for how to retrieve main document.
109
+ */
110
+ static resolveRedirects<T extends Lantern.NetworkRequest>(request: T): T;
111
+ }
112
+ export { NetworkAnalyzer };
@@ -0,0 +1,2 @@
1
+ export * from './LanternError.js';
2
+ export * from './NetworkAnalyzer.js';