@paulirish/trace_engine 0.0.38 → 0.0.40

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 (276) hide show
  1. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  2. package/core/platform/DevToolsPath.d.ts +30 -9
  3. package/core/platform/DevToolsPath.js +21 -0
  4. package/core/platform/DevToolsPath.js.map +1 -1
  5. package/core/platform/MapUtilities.js +1 -1
  6. package/core/platform/MapUtilities.js.map +1 -1
  7. package/core/platform/ServerTiming.d.ts +2 -2
  8. package/core/platform/ServerTiming.js.map +1 -1
  9. package/core/platform/StringUtilities.js +1 -1
  10. package/core/platform/StringUtilities.js.map +1 -1
  11. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  12. package/core/platform/platform-tsconfig.json +2 -1
  13. package/generated/protocol.d.ts +203 -73
  14. package/locales/af.json +86 -0
  15. package/locales/am.json +86 -0
  16. package/locales/ar.json +86 -0
  17. package/locales/as.json +86 -0
  18. package/locales/az.json +86 -0
  19. package/locales/be.json +86 -0
  20. package/locales/bg.json +86 -0
  21. package/locales/bn.json +86 -0
  22. package/locales/bs.json +86 -0
  23. package/locales/ca.json +86 -0
  24. package/locales/cs.json +86 -0
  25. package/locales/cy.json +86 -0
  26. package/locales/da.json +86 -0
  27. package/locales/de.json +86 -0
  28. package/locales/el.json +86 -0
  29. package/locales/en-GB.json +86 -0
  30. package/locales/en-US.json +86 -0
  31. package/locales/en-XL.json +86 -0
  32. package/locales/es-419.json +86 -0
  33. package/locales/es.json +86 -0
  34. package/locales/et.json +86 -0
  35. package/locales/eu.json +86 -0
  36. package/locales/fa.json +86 -0
  37. package/locales/fi.json +86 -0
  38. package/locales/fil.json +86 -0
  39. package/locales/fr-CA.json +86 -0
  40. package/locales/fr.json +86 -0
  41. package/locales/gl.json +86 -0
  42. package/locales/gu.json +86 -0
  43. package/locales/he.json +86 -0
  44. package/locales/hi.json +86 -0
  45. package/locales/hr.json +86 -0
  46. package/locales/hu.json +86 -0
  47. package/locales/hy.json +86 -0
  48. package/locales/id.json +86 -0
  49. package/locales/is.json +86 -0
  50. package/locales/it.json +86 -0
  51. package/locales/ja.json +86 -0
  52. package/locales/ka.json +86 -0
  53. package/locales/kk.json +86 -0
  54. package/locales/km.json +86 -0
  55. package/locales/kn.json +86 -0
  56. package/locales/ko.json +86 -0
  57. package/locales/ky.json +86 -0
  58. package/locales/lo.json +86 -0
  59. package/locales/lt.json +86 -0
  60. package/locales/lv.json +86 -0
  61. package/locales/mk.json +86 -0
  62. package/locales/ml.json +86 -0
  63. package/locales/mn.json +86 -0
  64. package/locales/mr.json +86 -0
  65. package/locales/ms.json +86 -0
  66. package/locales/my.json +86 -0
  67. package/locales/ne.json +86 -0
  68. package/locales/nl.json +86 -0
  69. package/locales/no.json +86 -0
  70. package/locales/or.json +86 -0
  71. package/locales/pa.json +86 -0
  72. package/locales/pl.json +86 -0
  73. package/locales/pt-PT.json +86 -0
  74. package/locales/pt.json +86 -0
  75. package/locales/ro.json +86 -0
  76. package/locales/ru.json +86 -0
  77. package/locales/si.json +86 -0
  78. package/locales/sk.json +86 -0
  79. package/locales/sl.json +86 -0
  80. package/locales/sq.json +86 -0
  81. package/locales/sr-Latn.json +86 -0
  82. package/locales/sr.json +86 -0
  83. package/locales/sv.json +86 -0
  84. package/locales/sw.json +86 -0
  85. package/locales/ta.json +86 -0
  86. package/locales/te.json +86 -0
  87. package/locales/th.json +86 -0
  88. package/locales/tr.json +86 -0
  89. package/locales/uk.json +86 -0
  90. package/locales/ur.json +86 -0
  91. package/locales/uz.json +86 -0
  92. package/locales/vi.json +86 -0
  93. package/locales/zh-HK.json +86 -0
  94. package/locales/zh-TW.json +86 -0
  95. package/locales/zh.json +86 -0
  96. package/locales/zu.json +86 -0
  97. package/models/cpu_profile/ProfileTreeModel.js +0 -2
  98. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  99. package/models/cpu_profile/cpu_profile-tsconfig.json +2 -1
  100. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  101. package/models/trace/LanternComputationData.js +1 -1
  102. package/models/trace/LanternComputationData.js.map +1 -1
  103. package/models/trace/ModelImpl.d.ts +6 -6
  104. package/models/trace/ModelImpl.js +1 -0
  105. package/models/trace/ModelImpl.js.map +1 -1
  106. package/models/trace/Processor.d.ts +6 -0
  107. package/models/trace/Processor.js +90 -9
  108. package/models/trace/Processor.js.map +1 -1
  109. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  110. package/models/trace/extras/StackTraceForEvent.d.ts +12 -0
  111. package/models/trace/extras/StackTraceForEvent.js +163 -0
  112. package/models/trace/extras/StackTraceForEvent.js.map +1 -0
  113. package/models/trace/extras/ThirdParties.d.ts +7 -4
  114. package/models/trace/extras/ThirdParties.js +56 -65
  115. package/models/trace/extras/ThirdParties.js.map +1 -1
  116. package/models/trace/extras/TraceTree.js +8 -8
  117. package/models/trace/extras/TraceTree.js.map +1 -1
  118. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  119. package/models/trace/extras/extras-tsconfig.json +3 -2
  120. package/models/trace/extras/extras.js.map +1 -1
  121. package/models/trace/handlers/AnimationFramesHandler.d.ts +11 -0
  122. package/models/trace/handlers/AnimationFramesHandler.js +102 -0
  123. package/models/trace/handlers/AnimationFramesHandler.js.map +1 -0
  124. package/models/trace/handlers/AsyncJSCallsHandler.d.ts +15 -0
  125. package/models/trace/handlers/AsyncJSCallsHandler.js +153 -0
  126. package/models/trace/handlers/AsyncJSCallsHandler.js.map +1 -0
  127. package/models/trace/handlers/DOMStatsHandler.d.ts +8 -0
  128. package/models/trace/handlers/DOMStatsHandler.js +22 -0
  129. package/models/trace/handlers/DOMStatsHandler.js.map +1 -0
  130. package/models/trace/handlers/ExtensionTraceDataHandler.d.ts +80 -2
  131. package/models/trace/handlers/ExtensionTraceDataHandler.js +163 -13
  132. package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
  133. package/models/trace/handlers/FlowsHandler.js +47 -55
  134. package/models/trace/handlers/FlowsHandler.js.map +1 -1
  135. package/models/trace/handlers/InitiatorsHandler.d.ts +11 -0
  136. package/models/trace/handlers/InitiatorsHandler.js +33 -25
  137. package/models/trace/handlers/InitiatorsHandler.js.map +1 -1
  138. package/models/trace/handlers/LargestImagePaintHandler.d.ts +0 -2
  139. package/models/trace/handlers/LargestImagePaintHandler.js +27 -24
  140. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
  141. package/models/trace/handlers/LayoutShiftsHandler.d.ts +2 -2
  142. package/models/trace/handlers/LayoutShiftsHandler.js +3 -2
  143. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  144. package/models/trace/handlers/MetaHandler.d.ts +2 -2
  145. package/models/trace/handlers/MetaHandler.js +1 -1
  146. package/models/trace/handlers/MetaHandler.js.map +1 -1
  147. package/models/trace/handlers/ModelHandlers.d.ts +4 -1
  148. package/models/trace/handlers/ModelHandlers.js +4 -1
  149. package/models/trace/handlers/ModelHandlers.js.map +1 -1
  150. package/models/trace/handlers/NetworkRequestsHandler.d.ts +2 -0
  151. package/models/trace/handlers/NetworkRequestsHandler.js +21 -0
  152. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  153. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +2 -2
  154. package/models/trace/handlers/PageLoadMetricsHandler.js +9 -9
  155. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  156. package/models/trace/handlers/RendererHandler.d.ts +4 -0
  157. package/models/trace/handlers/RendererHandler.js +33 -2
  158. package/models/trace/handlers/RendererHandler.js.map +1 -1
  159. package/models/trace/handlers/SamplesHandler.d.ts +2 -2
  160. package/models/trace/handlers/SamplesHandler.js +3 -3
  161. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  162. package/models/trace/handlers/ServerTimingsHandler.js +2 -2
  163. package/models/trace/handlers/ServerTimingsHandler.js.map +1 -1
  164. package/models/trace/handlers/Threads.d.ts +1 -0
  165. package/models/trace/handlers/Threads.js +8 -0
  166. package/models/trace/handlers/Threads.js.map +1 -1
  167. package/models/trace/handlers/UserInteractionsHandler.js +5 -6
  168. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  169. package/models/trace/handlers/UserTimingsHandler.d.ts +1 -1
  170. package/models/trace/handlers/UserTimingsHandler.js +1 -1
  171. package/models/trace/handlers/UserTimingsHandler.js.map +1 -1
  172. package/models/trace/handlers/WarningsHandler.js +2 -2
  173. package/models/trace/handlers/WarningsHandler.js.map +1 -1
  174. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  175. package/models/trace/handlers/handlers-tsconfig.json +9 -1
  176. package/models/trace/handlers/handlers.d.ts +1 -0
  177. package/models/trace/handlers/handlers.js +1 -0
  178. package/models/trace/handlers/handlers.js.map +1 -1
  179. package/models/trace/handlers/helpers.d.ts +19 -0
  180. package/models/trace/handlers/helpers.js +123 -0
  181. package/models/trace/handlers/helpers.js.map +1 -0
  182. package/models/trace/helpers/SamplesIntegrator.js +2 -2
  183. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  184. package/models/trace/helpers/SyntheticEvents.js +1 -1
  185. package/models/trace/helpers/SyntheticEvents.js.map +1 -1
  186. package/models/trace/helpers/Timing.d.ts +5 -6
  187. package/models/trace/helpers/Timing.js +22 -31
  188. package/models/trace/helpers/Timing.js.map +1 -1
  189. package/models/trace/helpers/Trace.d.ts +24 -10
  190. package/models/trace/helpers/Trace.js +53 -6
  191. package/models/trace/helpers/Trace.js.map +1 -1
  192. package/models/trace/helpers/TreeHelpers.d.ts +0 -31
  193. package/models/trace/helpers/TreeHelpers.js +1 -142
  194. package/models/trace/helpers/TreeHelpers.js.map +1 -1
  195. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  196. package/models/trace/helpers/helpers-tsconfig.json +2 -1
  197. package/models/trace/insights/CLSCulprits.js +1 -2
  198. package/models/trace/insights/CLSCulprits.js.map +1 -1
  199. package/models/trace/insights/Common.d.ts +38 -1
  200. package/models/trace/insights/Common.js +123 -0
  201. package/models/trace/insights/Common.js.map +1 -1
  202. package/models/trace/insights/DOMSize.d.ts +9 -0
  203. package/models/trace/insights/DOMSize.js +102 -0
  204. package/models/trace/insights/DOMSize.js.map +1 -0
  205. package/models/trace/insights/DocumentLatency.js +1 -1
  206. package/models/trace/insights/DocumentLatency.js.map +1 -1
  207. package/models/trace/insights/FontDisplay.js +1 -1
  208. package/models/trace/insights/FontDisplay.js.map +1 -1
  209. package/models/trace/insights/ImageDelivery.d.ts +22 -4
  210. package/models/trace/insights/ImageDelivery.js +76 -6
  211. package/models/trace/insights/ImageDelivery.js.map +1 -1
  212. package/models/trace/insights/LCPDiscovery.js +2 -2
  213. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  214. package/models/trace/insights/LCPPhases.js +7 -7
  215. package/models/trace/insights/LCPPhases.js.map +1 -1
  216. package/models/trace/insights/Models.d.ts +1 -0
  217. package/models/trace/insights/Models.js +1 -0
  218. package/models/trace/insights/Models.js.map +1 -1
  219. package/models/trace/insights/Statistics.d.ts +14 -0
  220. package/models/trace/insights/Statistics.js +86 -0
  221. package/models/trace/insights/Statistics.js.map +1 -0
  222. package/models/trace/insights/ThirdParties.d.ts +2 -2
  223. package/models/trace/insights/ThirdParties.js +5 -4
  224. package/models/trace/insights/ThirdParties.js.map +1 -1
  225. package/models/trace/insights/Viewport.js +2 -2
  226. package/models/trace/insights/Viewport.js.map +1 -1
  227. package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  228. package/models/trace/insights/insights-tsconfig.json +4 -1
  229. package/models/trace/insights/insights.d.ts +1 -0
  230. package/models/trace/insights/insights.js +1 -0
  231. package/models/trace/insights/insights.js.map +1 -1
  232. package/models/trace/insights/types.d.ts +4 -3
  233. package/models/trace/insights/types.js.map +1 -1
  234. package/models/trace/lantern/core/NetworkAnalyzer.d.ts +2 -2
  235. package/models/trace/lantern/core/NetworkAnalyzer.js +2 -3
  236. package/models/trace/lantern/core/NetworkAnalyzer.js.map +1 -1
  237. package/models/trace/lantern/core/core-tsconfig.json +2 -1
  238. package/models/trace/lantern/core/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  239. package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  240. package/models/trace/lantern/graph/PageDependencyGraph.js +0 -1
  241. package/models/trace/lantern/graph/PageDependencyGraph.js.map +1 -1
  242. package/models/trace/lantern/graph/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  243. package/models/trace/lantern/graph/graph-tsconfig.json +2 -1
  244. package/models/trace/lantern/lantern-tsconfig.json +2 -1
  245. package/models/trace/lantern/metrics/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  246. package/models/trace/lantern/metrics/metrics-tsconfig.json +2 -1
  247. package/models/trace/lantern/simulation/DNSCache.d.ts +2 -2
  248. package/models/trace/lantern/simulation/DNSCache.js.map +1 -1
  249. package/models/trace/lantern/simulation/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  250. package/models/trace/lantern/simulation/simulation-tsconfig.json +2 -1
  251. package/models/trace/lantern/types/Lantern.d.ts +10 -10
  252. package/models/trace/lantern/types/Lantern.js.map +1 -1
  253. package/models/trace/lantern/types/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  254. package/models/trace/lantern/types/types-tsconfig.json +2 -1
  255. package/models/trace/root-causes/LayoutShift.d.ts +6 -6
  256. package/models/trace/root-causes/LayoutShift.js +1 -1
  257. package/models/trace/root-causes/LayoutShift.js.map +1 -1
  258. package/models/trace/root-causes/RootCauses.d.ts +2 -2
  259. package/models/trace/root-causes/RootCauses.js.map +1 -1
  260. package/models/trace/root-causes/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  261. package/models/trace/root-causes/root-causes-tsconfig.json +2 -1
  262. package/models/trace/trace-tsconfig.json +2 -1
  263. package/models/trace/types/Configuration.d.ts +2 -2
  264. package/models/trace/types/Configuration.js.map +1 -1
  265. package/models/trace/types/Extensions.d.ts +3 -3
  266. package/models/trace/types/Extensions.js.map +1 -1
  267. package/models/trace/types/File.d.ts +11 -11
  268. package/models/trace/types/File.js.map +1 -1
  269. package/models/trace/types/Timing.js.map +1 -1
  270. package/models/trace/types/TraceEvents.d.ts +107 -31
  271. package/models/trace/types/TraceEvents.js +34 -14
  272. package/models/trace/types/TraceEvents.js.map +1 -1
  273. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -1
  274. package/models/trace/types/types-tsconfig.json +2 -1
  275. package/package.json +1 -1
  276. package/test/test-trace-engine.mjs +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/File.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAgH7B,MAAM,UAAU,qBAAqB,CAAC,UAAsB;IAC1D,OAAO,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAsB;IAC3D,OAAO,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAsB;IAC5D,OAAO,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC;AAC5C,CAAC;AA0ED,MAAM,UAAU,qBAAqB,CAAC,GAAoB;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,QAAQ,IAAI,EAAE,CAAC;QACb;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAChC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACT,CAAC;QAC5B;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,CAAC;QACzB;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACN,CAAC;QAC/B,iDAAuC,CAAC,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO;gBACL,IAAI;gBACJ,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACjC,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2023 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nimport type * as SDK from '../../../core/sdk/sdk.js';\nimport type * as Protocol from '../../../generated/protocol.js';\nimport type * as CrUXManager from '../../../models/crux-manager/crux-manager.js';\n\nimport type {TraceWindowMicroSeconds} from './Timing.js';\nimport type {Event, LegacyTimelineFrame, ProcessID, SampleIndex, ThreadID} from './TraceEvents.js';\n\nexport type TraceFile = {\n traceEvents: readonly Event[],\n metadata: MetaData,\n};\n\nexport interface Breadcrumb {\n window: TraceWindowMicroSeconds;\n child: Breadcrumb|null;\n}\n\nexport const enum DataOrigin {\n CPU_PROFILE = 'CPUProfile',\n TRACE_EVENTS = 'TraceEvents',\n}\n\n/**\n * The Entries link can have 3 stated:\n * 1. The Link creation is not started yet, meaning only the button that needs to be clicked to start creating the link is visible.\n * 2. Pending to event - the creation is started, but the entry that the link points to has not been chosen yet\n * 3. Link connected - final state, both entries present\n */\nexport const enum EntriesLinkState {\n CREATION_NOT_STARTED = 'creation_not_started',\n PENDING_TO_EVENT = 'pending_to_event',\n CONNECTED = 'connected',\n}\n\nexport const enum EventKeyType {\n RAW_EVENT = 'r',\n SYNTHETIC_EVENT = 's',\n PROFILE_CALL = 'p',\n LEGACY_TIMELINE_FRAME = 'l',\n}\n\n/**\n * Represents an object that is saved in the file when user created annotations in the timeline.\n *\n * Expected to add more annotations.\n */\nexport interface SerializedAnnotations {\n entryLabels: EntryLabelAnnotationSerialized[];\n labelledTimeRanges: TimeRangeAnnotationSerialized[];\n linksBetweenEntries: EntriesLinkAnnotationSerialized[];\n}\n\n/**\n * Represents an object that is used to store the Entry Label annotation that is created when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotation {\n type: 'ENTRY_LABEL';\n entry: Event|LegacyTimelineFrame;\n label: string;\n}\n\n/**\n * Represents an object that is used to store the Labelled Time Range Annotation that is created when a user creates a Time Range Selection in the timeline.\n */\nexport interface TimeRangeAnnotation {\n type: 'TIME_RANGE';\n label: string;\n bounds: TraceWindowMicroSeconds;\n}\n\nexport interface EntriesLinkAnnotation {\n type: 'ENTRIES_LINK';\n state: EntriesLinkState;\n entryFrom: Event;\n entryTo?: Event;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotationSerialized {\n entry: SerializableKey;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a time range with a label in the timeline.\n */\nexport interface TimeRangeAnnotationSerialized {\n bounds: TraceWindowMicroSeconds;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a link between entries in the timeline.\n */\nexport interface EntriesLinkAnnotationSerialized {\n entryFrom: SerializableKey;\n entryTo: SerializableKey;\n}\n\n/**\n * `Annotation` are the user-created annotations that are saved into the metadata.\n * Those annotations are rendered on the timeline by `Overlays.ts`\n *\n * TODO: Implement other OverlayAnnotations (annotated time ranges, links between entries).\n * TODO: Save/load overlay annotations to/from the trace file.\n */\nexport type Annotation = EntryLabelAnnotation|TimeRangeAnnotation|EntriesLinkAnnotation;\n\nexport function isTimeRangeAnnotation(annotation: Annotation): annotation is TimeRangeAnnotation {\n return annotation.type === 'TIME_RANGE';\n}\n\nexport function isEntryLabelAnnotation(annotation: Annotation): annotation is EntryLabelAnnotation {\n return annotation.type === 'ENTRY_LABEL';\n}\n\nexport function isEntriesLinkAnnotation(annotation: Annotation): annotation is EntriesLinkAnnotation {\n return annotation.type === 'ENTRIES_LINK';\n}\n\n// Serializable keys are created for trace events to be able to save\n// references to timeline events in a trace file. These keys enable\n// user modifications that can be saved. See go/cpq:event-data-json for\n// more details on the key format.\nexport type RawEventKey = `${EventKeyType.RAW_EVENT}-${number}`;\nexport type SyntheticEventKey = `${EventKeyType.SYNTHETIC_EVENT}-${number}`;\nexport type ProfileCallKey = `${EventKeyType.PROFILE_CALL}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;\nexport type LegacyTimelineFrameKey = `${EventKeyType.LEGACY_TIMELINE_FRAME}-${number}`;\nexport type SerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey|LegacyTimelineFrameKey;\n\n// Serializable keys values objects contain data that maps the keys to original Trace Events\nexport type RawEventKeyValues = {\n type: EventKeyType.RAW_EVENT,\n rawIndex: number,\n};\n\nexport type SyntheticEventKeyValues = {\n type: EventKeyType.SYNTHETIC_EVENT,\n rawIndex: number,\n};\n\nexport type ProfileCallKeyValues = {\n type: EventKeyType.PROFILE_CALL,\n processID: ProcessID,\n threadID: ThreadID,\n sampleIndex: SampleIndex,\n protocol: Protocol.integer,\n};\n\nexport type LegacyTimelineFrameKeyValues = {\n type: EventKeyType.LEGACY_TIMELINE_FRAME,\n rawIndex: number,\n};\n\nexport type SerializableKeyValues =\n RawEventKeyValues|ProfileCallKeyValues|SyntheticEventKeyValues|LegacyTimelineFrameKeyValues;\n\nexport interface Modifications {\n entriesModifications: {\n // Entries hidden by the user\n hiddenEntries: SerializableKey[],\n // Entries that parent a hiddenEntry\n expandableEntries: SerializableKey[],\n };\n initialBreadcrumb: Breadcrumb;\n annotations: SerializedAnnotations;\n}\n\n/**\n * Trace metadata that we persist to the file. This will allow us to\n * store specifics for the trace, e.g., which tracks should be visible\n * on load.\n */\nexport interface MetaData {\n source?: 'DevTools';\n startTime?: string;\n emulatedDeviceTitle?: string;\n // Only set if network throttling is active.\n networkThrottling?: string;\n // Only set if network throttling is active.\n networkThrottlingConditions?: Omit<SDK.NetworkManager.Conditions, 'title'>;\n // Only set if CPU throttling is active.\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n modifications?: Modifications;\n enhancedTraceVersion?: number;\n cruxFieldData?: CrUXManager.PageResult[];\n}\n\nexport type Contents = TraceFile|Event[];\n\nexport function traceEventKeyToValues(key: SerializableKey): SerializableKeyValues {\n const parts = key.split('-');\n const type = parts[0];\n\n switch (type) {\n case EventKeyType.PROFILE_CALL:\n if (parts.length !== 5 ||\n !(parts.every((part, i) => i === 0 || typeof part === 'number' || !isNaN(parseInt(part, 10))))) {\n throw new Error(`Invalid ProfileCallKey: ${key}`);\n }\n return {\n type: parts[0],\n processID: parseInt(parts[1], 10),\n threadID: parseInt(parts[2], 10),\n sampleIndex: parseInt(parts[3], 10),\n protocol: parseInt(parts[4], 10),\n } as ProfileCallKeyValues;\n case EventKeyType.RAW_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid RawEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as RawEventKeyValues;\n case EventKeyType.SYNTHETIC_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid SyntheticEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as SyntheticEventKeyValues;\n case EventKeyType.LEGACY_TIMELINE_FRAME: {\n if (parts.length !== 2 || Number.isNaN(parseInt(parts[1], 10))) {\n throw new Error(`Invalid LegacyTimelineFrame Key: ${key}`);\n }\n return {\n type,\n rawIndex: parseInt(parts[1], 10),\n };\n }\n\n default:\n throw new Error(`Unknown trace event key: ${key}`);\n }\n}\n"]}
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/File.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2023 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nimport type * as SDK from '../../../core/sdk/sdk.js';\nimport type * as Protocol from '../../../generated/protocol.js';\nimport type * as CrUXManager from '../../../models/crux-manager/crux-manager.js';\n\nimport type {TraceWindowMicroSeconds} from './Timing.js';\nimport type {Event, LegacyTimelineFrame, ProcessID, SampleIndex, ThreadID} from './TraceEvents.js';\n\nexport interface TraceFile {\n traceEvents: readonly Event[];\n metadata: MetaData;\n}\n\nexport interface Breadcrumb {\n window: TraceWindowMicroSeconds;\n child: Breadcrumb|null;\n}\n\nexport const enum DataOrigin {\n CPU_PROFILE = 'CPUProfile',\n TRACE_EVENTS = 'TraceEvents',\n}\n\n/**\n * The Entries link can have 3 stated:\n * 1. The Link creation is not started yet, meaning only the button that needs to be clicked to start creating the link is visible.\n * 2. Pending to event - the creation is started, but the entry that the link points to has not been chosen yet\n * 3. Link connected - final state, both entries present\n */\nexport const enum EntriesLinkState {\n CREATION_NOT_STARTED = 'creation_not_started',\n PENDING_TO_EVENT = 'pending_to_event',\n CONNECTED = 'connected',\n}\n\nexport const enum EventKeyType {\n RAW_EVENT = 'r',\n SYNTHETIC_EVENT = 's',\n PROFILE_CALL = 'p',\n LEGACY_TIMELINE_FRAME = 'l',\n}\n\n/**\n * Represents an object that is saved in the file when user created annotations in the timeline.\n *\n * Expected to add more annotations.\n */\nexport interface SerializedAnnotations {\n entryLabels: EntryLabelAnnotationSerialized[];\n labelledTimeRanges: TimeRangeAnnotationSerialized[];\n linksBetweenEntries: EntriesLinkAnnotationSerialized[];\n}\n\n/**\n * Represents an object that is used to store the Entry Label annotation that is created when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotation {\n type: 'ENTRY_LABEL';\n entry: Event|LegacyTimelineFrame;\n label: string;\n}\n\n/**\n * Represents an object that is used to store the Labelled Time Range Annotation that is created when a user creates a Time Range Selection in the timeline.\n */\nexport interface TimeRangeAnnotation {\n type: 'TIME_RANGE';\n label: string;\n bounds: TraceWindowMicroSeconds;\n}\n\nexport interface EntriesLinkAnnotation {\n type: 'ENTRIES_LINK';\n state: EntriesLinkState;\n entryFrom: Event;\n entryTo?: Event;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotationSerialized {\n entry: SerializableKey;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a time range with a label in the timeline.\n */\nexport interface TimeRangeAnnotationSerialized {\n bounds: TraceWindowMicroSeconds;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a link between entries in the timeline.\n */\nexport interface EntriesLinkAnnotationSerialized {\n entryFrom: SerializableKey;\n entryTo: SerializableKey;\n}\n\n/**\n * `Annotation` are the user-created annotations that are saved into the metadata.\n * Those annotations are rendered on the timeline by `Overlays.ts`\n *\n * TODO: Implement other OverlayAnnotations (annotated time ranges, links between entries).\n * TODO: Save/load overlay annotations to/from the trace file.\n */\nexport type Annotation = EntryLabelAnnotation|TimeRangeAnnotation|EntriesLinkAnnotation;\n\nexport function isTimeRangeAnnotation(annotation: Annotation): annotation is TimeRangeAnnotation {\n return annotation.type === 'TIME_RANGE';\n}\n\nexport function isEntryLabelAnnotation(annotation: Annotation): annotation is EntryLabelAnnotation {\n return annotation.type === 'ENTRY_LABEL';\n}\n\nexport function isEntriesLinkAnnotation(annotation: Annotation): annotation is EntriesLinkAnnotation {\n return annotation.type === 'ENTRIES_LINK';\n}\n\n// Serializable keys are created for trace events to be able to save\n// references to timeline events in a trace file. These keys enable\n// user modifications that can be saved. See go/cpq:event-data-json for\n// more details on the key format.\nexport type RawEventKey = `${EventKeyType.RAW_EVENT}-${number}`;\nexport type SyntheticEventKey = `${EventKeyType.SYNTHETIC_EVENT}-${number}`;\nexport type ProfileCallKey = `${EventKeyType.PROFILE_CALL}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;\nexport type LegacyTimelineFrameKey = `${EventKeyType.LEGACY_TIMELINE_FRAME}-${number}`;\nexport type SerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey|LegacyTimelineFrameKey;\n\n// Serializable keys values objects contain data that maps the keys to original Trace Events\nexport interface RawEventKeyValues {\n type: EventKeyType.RAW_EVENT;\n rawIndex: number;\n}\n\nexport interface SyntheticEventKeyValues {\n type: EventKeyType.SYNTHETIC_EVENT;\n rawIndex: number;\n}\n\nexport interface ProfileCallKeyValues {\n type: EventKeyType.PROFILE_CALL;\n processID: ProcessID;\n threadID: ThreadID;\n sampleIndex: SampleIndex;\n protocol: Protocol.integer;\n}\n\nexport interface LegacyTimelineFrameKeyValues {\n type: EventKeyType.LEGACY_TIMELINE_FRAME;\n rawIndex: number;\n}\n\nexport type SerializableKeyValues =\n RawEventKeyValues|ProfileCallKeyValues|SyntheticEventKeyValues|LegacyTimelineFrameKeyValues;\n\nexport interface Modifications {\n entriesModifications: {\n // Entries hidden by the user\n hiddenEntries: SerializableKey[],\n // Entries that parent a hiddenEntry\n expandableEntries: SerializableKey[],\n };\n initialBreadcrumb: Breadcrumb;\n annotations: SerializedAnnotations;\n}\n\n/**\n * Trace metadata that we persist to the file. This will allow us to\n * store specifics for the trace, e.g., which tracks should be visible\n * on load.\n */\nexport interface MetaData {\n source?: 'DevTools';\n startTime?: string;\n emulatedDeviceTitle?: string;\n // Only set if network throttling is active.\n networkThrottling?: string;\n // Only set if network throttling is active.\n networkThrottlingConditions?: Omit<SDK.NetworkManager.Conditions, 'title'>;\n // Only set if CPU throttling is active.\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n enhancedTraceVersion?: number;\n modifications?: Modifications;\n cruxFieldData?: CrUXManager.PageResult[];\n}\n\nexport type Contents = TraceFile|Event[];\n\nexport function traceEventKeyToValues(key: SerializableKey): SerializableKeyValues {\n const parts = key.split('-');\n const type = parts[0];\n\n switch (type) {\n case EventKeyType.PROFILE_CALL:\n if (parts.length !== 5 ||\n !(parts.every((part, i) => i === 0 || typeof part === 'number' || !isNaN(parseInt(part, 10))))) {\n throw new Error(`Invalid ProfileCallKey: ${key}`);\n }\n return {\n type: parts[0],\n processID: parseInt(parts[1], 10),\n threadID: parseInt(parts[2], 10),\n sampleIndex: parseInt(parts[3], 10),\n protocol: parseInt(parts[4], 10),\n } as ProfileCallKeyValues;\n case EventKeyType.RAW_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid RawEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as RawEventKeyValues;\n case EventKeyType.SYNTHETIC_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid SyntheticEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as SyntheticEventKeyValues;\n case EventKeyType.LEGACY_TIMELINE_FRAME: {\n if (parts.length !== 2 || Number.isNaN(parseInt(parts[1], 10))) {\n throw new Error(`Invalid LegacyTimelineFrame Key: ${key}`);\n }\n return {\n type,\n rawIndex: parseInt(parts[1], 10),\n };\n }\n\n default:\n throw new Error(`Unknown trace event key: ${key}`);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Timing.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Timing.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAK7B,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAqB,CAAC;AAC/B,CAAC;AAGD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAgB,CAAC;AAC1B,CAAC","sourcesContent":["// Copyright 2022 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/* eslint-disable no-unused-private-class-members, @typescript-eslint/naming-convention */\n\nexport type MicroSeconds = number&{_tag: 'MicroSeconds'};\nexport function MicroSeconds(value: number): MicroSeconds {\n return value as MicroSeconds;\n}\n\nexport type MilliSeconds = number&{_tag: 'MilliSeconds'};\nexport function MilliSeconds(value: number): MilliSeconds {\n return value as MilliSeconds;\n}\nexport type Seconds = number&{_tag: 'Seconds'};\nexport function Seconds(value: number): Seconds {\n return value as Seconds;\n}\n\nexport const enum TimeUnit {\n MICROSECONDS = 0,\n MILLISECONDS = 1,\n SECONDS = 2,\n MINUTES = 3,\n}\n\n// Other types.\n\nexport interface TraceWindow<TimeFormat extends MicroSeconds|MilliSeconds> {\n min: TimeFormat;\n max: TimeFormat;\n range: TimeFormat;\n}\n\nexport type TraceWindowMicroSeconds = TraceWindow<MicroSeconds>;\nexport type TraceWindowMilliSeconds = TraceWindow<MilliSeconds>;\n"]}
1
+ {"version":3,"file":"Timing.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Timing.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAK7B,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAqB,CAAC;AAC/B,CAAC;AAGD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAgB,CAAC;AAC1B,CAAC","sourcesContent":["// Copyright 2022 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nexport type MicroSeconds = number&{_tag: 'MicroSeconds'};\nexport function MicroSeconds(value: number): MicroSeconds {\n return value as MicroSeconds;\n}\n\nexport type MilliSeconds = number&{_tag: 'MilliSeconds'};\nexport function MilliSeconds(value: number): MilliSeconds {\n return value as MilliSeconds;\n}\nexport type Seconds = number&{_tag: 'Seconds'};\nexport function Seconds(value: number): Seconds {\n return value as Seconds;\n}\n\nexport const enum TimeUnit {\n MICROSECONDS = 0,\n MILLISECONDS = 1,\n SECONDS = 2,\n MINUTES = 3,\n}\n\n// Other types.\n\nexport interface TraceWindow<TimeFormat extends MicroSeconds|MilliSeconds> {\n min: TimeFormat;\n max: TimeFormat;\n range: TimeFormat;\n}\n\nexport type TraceWindowMicroSeconds = TraceWindow<MicroSeconds>;\nexport type TraceWindowMilliSeconds = TraceWindow<MilliSeconds>;\n"]}
@@ -554,6 +554,25 @@ export interface Instant extends Event {
554
554
  ph: Phase.INSTANT;
555
555
  s: Scope;
556
556
  }
557
+ export interface DOMStats extends Instant {
558
+ name: 'DOMStats';
559
+ args: Args & {
560
+ data: ArgsData & {
561
+ frame: string;
562
+ totalElements: number;
563
+ maxChildren?: {
564
+ nodeId: Protocol.DOM.BackendNodeId;
565
+ nodeName: string;
566
+ numChildren: number;
567
+ };
568
+ maxDepth?: {
569
+ nodeId: Protocol.DOM.BackendNodeId;
570
+ nodeName: string;
571
+ depth: number;
572
+ };
573
+ };
574
+ };
575
+ }
557
576
  export interface UpdateCounters extends Instant {
558
577
  name: 'UpdateCounters';
559
578
  args: Args & {
@@ -645,11 +664,11 @@ export interface Async extends Event {
645
664
  ph: Phase.ASYNC_NESTABLE_START | Phase.ASYNC_NESTABLE_INSTANT | Phase.ASYNC_NESTABLE_END | Phase.ASYNC_STEP_INTO | Phase.ASYNC_BEGIN | Phase.ASYNC_END | Phase.ASYNC_STEP_PAST;
646
665
  }
647
666
  export type TraceRect = [number, number, number, number];
648
- export type TraceImpactedNode = {
667
+ export interface TraceImpactedNode {
649
668
  new_rect: TraceRect;
650
669
  node_id: Protocol.DOM.BackendNodeId;
651
670
  old_rect: TraceRect;
652
- };
671
+ }
653
672
  type LayoutShiftData = ArgsData & {
654
673
  cumulative_score: number;
655
674
  frame_max_distance: number;
@@ -665,7 +684,7 @@ type LayoutShiftData = ArgsData & {
665
684
  navigationId?: string;
666
685
  };
667
686
  export interface LayoutShift extends Instant {
668
- name: 'LayoutShift';
687
+ name: Name.LAYOUT_SHIFT;
669
688
  normalized?: boolean;
670
689
  args: Args & {
671
690
  frame: string;
@@ -686,8 +705,8 @@ export interface LayoutShiftParsedData {
686
705
  cumulativeWeightedScoreInWindow: number;
687
706
  sessionWindowData: LayoutShiftSessionWindowData;
688
707
  }
689
- export interface SyntheticLayoutShift extends LayoutShift, SyntheticBased<Phase.INSTANT> {
690
- name: 'LayoutShift';
708
+ export interface SyntheticLayoutShift extends Omit<LayoutShift, 'name'>, SyntheticBased<Phase.INSTANT> {
709
+ name: Name.SYNTHETIC_LAYOUT_SHIFT;
691
710
  rawSourceEvent: LayoutShift;
692
711
  args: Args & {
693
712
  frame: string;
@@ -994,6 +1013,34 @@ export interface PairableAsyncInstant extends PairableAsync {
994
1013
  export interface PairableAsyncEnd extends PairableAsync {
995
1014
  ph: Phase.ASYNC_NESTABLE_END;
996
1015
  }
1016
+ export interface AnimationFrame extends PairableAsync {
1017
+ name: Name.ANIMATION_FRAME;
1018
+ args?: AnimationFrameArgs;
1019
+ }
1020
+ export type AnimationFrameArgs = Args & {
1021
+ animation_frame_timing_info: {
1022
+ blocking_duration_ms: number;
1023
+ duration_ms: number;
1024
+ num_scripts: number;
1025
+ };
1026
+ id: string;
1027
+ };
1028
+ export interface AnimationFrameAsyncStart extends AnimationFrame {
1029
+ ph: Phase.ASYNC_NESTABLE_START;
1030
+ }
1031
+ export interface AnimationFrameAsyncEnd extends AnimationFrame {
1032
+ ph: Phase.ASYNC_NESTABLE_END;
1033
+ }
1034
+ export declare function isAnimationFrameAsyncStart(data: Event): data is AnimationFrameAsyncStart;
1035
+ export declare function isAnimationFrameAsyncEnd(data: Event): data is AnimationFrameAsyncEnd;
1036
+ export interface AnimationFramePresentation extends Event {
1037
+ name: Name.ANIMATION_FRAME_PRESENTATION;
1038
+ ph: Phase.ASYNC_NESTABLE_INSTANT;
1039
+ args?: Args & {
1040
+ id: string;
1041
+ };
1042
+ }
1043
+ export declare function isAnimationFramePresentation(data: Event): data is AnimationFramePresentation;
997
1044
  export interface UserTiming extends Event {
998
1045
  id2?: {
999
1046
  local?: string;
@@ -1020,6 +1067,7 @@ export interface PerformanceMeasureBegin extends PairableUserTiming {
1020
1067
  args: Args & {
1021
1068
  detail?: string;
1022
1069
  stackTrace?: CallFrame[];
1070
+ callTime?: MicroSeconds;
1023
1071
  };
1024
1072
  ph: Phase.ASYNC_NESTABLE_START;
1025
1073
  }
@@ -1030,6 +1078,7 @@ export interface PerformanceMark extends UserTiming {
1030
1078
  data?: ArgsData & {
1031
1079
  detail?: string;
1032
1080
  stackTrace?: CallFrame[];
1081
+ callTime?: MicroSeconds;
1033
1082
  };
1034
1083
  };
1035
1084
  ph: Phase.INSTANT | Phase.MARK | Phase.ASYNC_NESTABLE_INSTANT;
@@ -1041,18 +1090,25 @@ export interface ConsoleTimeEnd extends PairableAsyncEnd {
1041
1090
  cat: 'blink.console';
1042
1091
  }
1043
1092
  export type ConsoleTime = ConsoleTimeBegin | ConsoleTimeEnd;
1044
- export interface TimeStamp extends Event {
1045
- cat: 'devtools.timeline';
1046
- name: 'TimeStamp';
1047
- ph: Phase.INSTANT;
1048
- id: string;
1093
+ export interface ConsoleTimeStamp extends Event {
1094
+ cat: 'disabled-by-default-v8.inspector';
1095
+ name: Name.CONSOLE_TIME_STAMP;
1096
+ ph: Phase.COMPLETE;
1049
1097
  args: Args & {
1050
1098
  data: ArgsData & {
1051
- frame: string;
1052
- message: string;
1099
+ name: string | number;
1100
+ start?: string | number;
1101
+ end?: string | number;
1102
+ track?: string | number;
1103
+ trackGroup?: string | number;
1104
+ color?: string | number;
1053
1105
  };
1054
1106
  };
1055
1107
  }
1108
+ export interface SyntheticConsoleTimeStamp extends Event, SyntheticBased {
1109
+ cat: 'disabled-by-default-v8.inspector';
1110
+ ph: Phase.COMPLETE;
1111
+ }
1056
1112
  /** ChromeFrameReporter args for PipelineReporter event.
1057
1113
  Matching proto: https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto
1058
1114
  */
@@ -1141,14 +1197,14 @@ export interface PipelineReporter extends Event {
1141
1197
  };
1142
1198
  }
1143
1199
  export declare function isPipelineReporter(event: Event): event is PipelineReporter;
1144
- export interface SyntheticBased<Ph extends Phase = Phase> extends Event {
1200
+ export interface SyntheticBased<Ph extends Phase = Phase, T extends Event = Event> extends Event {
1145
1201
  ph: Ph;
1146
- rawSourceEvent: Event;
1202
+ rawSourceEvent: T;
1147
1203
  _tag: 'SyntheticEntryTag';
1148
1204
  }
1149
1205
  export declare function isSyntheticBased(event: Event): event is SyntheticBased;
1150
- export interface SyntheticEventPair<T extends PairableAsync = PairableAsync> extends SyntheticBased {
1151
- rawSourceEvent: Event;
1206
+ export interface SyntheticEventPair<T extends PairableAsync = PairableAsync> extends SyntheticBased<Phase, T> {
1207
+ rawSourceEvent: T;
1152
1208
  name: T['name'];
1153
1209
  cat: T['cat'];
1154
1210
  id?: string;
@@ -1166,6 +1222,7 @@ export interface SyntheticEventPair<T extends PairableAsync = PairableAsync> ext
1166
1222
  };
1167
1223
  }
1168
1224
  export type SyntheticPipelineReporterPair = SyntheticEventPair<PipelineReporter>;
1225
+ export type SyntheticAnimationFramePair = SyntheticEventPair<AnimationFrame>;
1169
1226
  export type SyntheticUserTimingPair = SyntheticEventPair<PerformanceMeasure>;
1170
1227
  export type SyntheticConsoleTimingPair = SyntheticEventPair<ConsoleTime>;
1171
1228
  export type SyntheticAnimationPair = SyntheticEventPair<Animation>;
@@ -1353,11 +1410,11 @@ export interface DecodeImage extends Complete {
1353
1410
  export declare function isDecodeImage(event: Event): event is DecodeImage;
1354
1411
  export interface SelectorTiming {
1355
1412
  'elapsed (us)': number;
1356
- 'fast_reject_count': number;
1357
- 'match_attempts': number;
1358
- 'selector': string;
1359
- 'style_sheet_id': string;
1360
- 'match_count': number;
1413
+ fast_reject_count: number;
1414
+ match_attempts: number;
1415
+ selector: string;
1416
+ style_sheet_id: string;
1417
+ match_count: number;
1361
1418
  }
1362
1419
  export declare enum SelectorTimingsKey {
1363
1420
  Elapsed = "elapsed (us)",
@@ -1418,6 +1475,17 @@ export interface InvalidateLayout extends Instant {
1418
1475
  };
1419
1476
  }
1420
1477
  export declare function isInvalidateLayout(event: Event): event is InvalidateLayout;
1478
+ export interface DebuggerAsyncTaskScheduled extends Event {
1479
+ name: Name.DEBUGGER_ASYNC_TASK_SCHEDULED;
1480
+ args: Args & {
1481
+ taskName: string;
1482
+ };
1483
+ }
1484
+ export declare function isDebuggerAsyncTaskScheduled(event: Event): event is DebuggerAsyncTaskScheduled;
1485
+ export interface DebuggerAsyncTaskRun extends Event {
1486
+ name: Name.DEBUGGER_ASYNC_TASK_RUN;
1487
+ }
1488
+ export declare function isDebuggerAsyncTaskRun(event: Event): event is DebuggerAsyncTaskRun;
1421
1489
  declare class ProfileIdTag {
1422
1490
  #private;
1423
1491
  }
@@ -1458,6 +1526,7 @@ export declare function isFireIdleCallback(event: Event): event is FireIdleCallb
1458
1526
  export declare function isSchedulePostMessage(event: Event): event is SchedulePostMessage;
1459
1527
  export declare function isHandlePostMessage(event: Event): event is HandlePostMessage;
1460
1528
  export declare function isUpdateCounters(event: Event): event is UpdateCounters;
1529
+ export declare function isDOMStats(event: Event): event is DOMStats;
1461
1530
  export declare function isThreadName(event: Event): event is ThreadName;
1462
1531
  export declare function isProcessName(event: Event): event is ProcessName;
1463
1532
  export declare function isTracingStartedInBrowser(event: Event): event is TracingStartedInBrowser;
@@ -1504,9 +1573,10 @@ export declare function isUserTiming(event: Event): event is UserTiming;
1504
1573
  export declare function isDomLoading(event: Event): event is DomLoading;
1505
1574
  export declare function isBeginRemoteFontLoad(event: Event): event is BeginRemoteFontLoad;
1506
1575
  export declare function isPerformanceMeasure(event: Event): event is PerformanceMeasure;
1576
+ export declare function isPerformanceMeasureBegin(event: Event): event is PerformanceMeasureBegin;
1507
1577
  export declare function isPerformanceMark(event: Event): event is PerformanceMark;
1508
1578
  export declare function isConsoleTime(event: Event): event is ConsoleTime;
1509
- export declare function isTimeStamp(event: Event): event is TimeStamp;
1579
+ export declare function isConsoleTimeStamp(event: Event): event is ConsoleTimeStamp;
1510
1580
  export declare function isParseHTML(event: Event): event is ParseHTML;
1511
1581
  export interface Async extends Event {
1512
1582
  ph: Phase.ASYNC_NESTABLE_START | Phase.ASYNC_NESTABLE_INSTANT | Phase.ASYNC_NESTABLE_END | Phase.ASYNC_STEP_INTO | Phase.ASYNC_BEGIN | Phase.ASYNC_END | Phase.ASYNC_STEP_PAST;
@@ -1813,13 +1883,8 @@ export declare function isV8Compile(event: Event): event is V8Compile;
1813
1883
  export interface FunctionCall extends Complete {
1814
1884
  name: Name.FUNCTION_CALL;
1815
1885
  args: Args & {
1816
- data?: {
1886
+ data?: Partial<CallFrame> & {
1817
1887
  frame?: string;
1818
- columnNumber?: number;
1819
- lineNumber?: number;
1820
- functionName?: string;
1821
- scriptId?: number;
1822
- url?: string;
1823
1888
  };
1824
1889
  };
1825
1890
  }
@@ -1864,9 +1929,14 @@ export declare function isAbortPostTaskCallback(event: Event): event is RunPostT
1864
1929
  /**
1865
1930
  * Generally, before JS is executed, a trace event is dispatched that
1866
1931
  * parents the JS calls. These we call "invocation" events. This
1867
- * function determines if an event is one of such.
1932
+ * function determines if an event is one of such. Note: these are also
1933
+ * commonly referred to as "JS entry points".
1868
1934
  */
1869
1935
  export declare function isJSInvocationEvent(event: Event): boolean;
1936
+ export interface ConsoleRunTask extends Event {
1937
+ name: Name.V8_CONSOLE_RUN_TASK;
1938
+ }
1939
+ export declare function isConsoleRunTask(event: Event): event is ConsoleRunTask;
1870
1940
  export interface FlowEvent extends Event {
1871
1941
  id: number;
1872
1942
  ph: Phase.FLOW_START | Phase.FLOW_END | Phase.FLOW_STEP;
@@ -1930,9 +2000,12 @@ export declare const enum Name {
1930
2000
  CRYPTO_DO_VERIFY = "DoVerify",
1931
2001
  CRYPTO_DO_VERIFY_REPLY = "DoVerifyReply",
1932
2002
  V8_EXECUTE = "V8.Execute",
2003
+ V8_CONSOLE_RUN_TASK = "V8Console::runTask",
1933
2004
  SCHEDULE_POST_TASK_CALLBACK = "SchedulePostTaskCallback",
1934
2005
  RUN_POST_TASK_CALLBACK = "RunPostTaskCallback",
1935
2006
  ABORT_POST_TASK_CALLBACK = "AbortPostTaskCallback",
2007
+ DEBUGGER_ASYNC_TASK_RUN = "v8::Debugger::AsyncTaskRun",
2008
+ DEBUGGER_ASYNC_TASK_SCHEDULED = "v8::Debugger::AsyncTaskScheduled",
1936
2009
  GC = "GCEvent",
1937
2010
  DOMGC = "BlinkGC.AtomicPhase",
1938
2011
  MAJOR_GC = "MajorGC",
@@ -1949,6 +2022,7 @@ export declare const enum Name {
1949
2022
  PRE_PAINT = "PrePaint",
1950
2023
  LAYERIZE = "Layerize",
1951
2024
  LAYOUT_SHIFT = "LayoutShift",
2025
+ SYNTHETIC_LAYOUT_SHIFT = "SyntheticLayoutShift",
1952
2026
  SYNTHETIC_LAYOUT_SHIFT_CLUSTER = "SyntheticLayoutShiftCluster",
1953
2027
  UPDATE_LAYER_TREE = "UpdateLayerTree",
1954
2028
  SCHEDULE_STYLE_INVALIDATION_TRACKING = "ScheduleStyleInvalidationTracking",
@@ -1992,10 +2066,10 @@ export declare const enum Name {
1992
2066
  MARK_LCP_CANDIDATE = "largestContentfulPaint::Candidate",
1993
2067
  MARK_LCP_INVALIDATE = "largestContentfulPaint::Invalidate",
1994
2068
  NAVIGATION_START = "navigationStart",
1995
- TIME_STAMP = "TimeStamp",
1996
2069
  CONSOLE_TIME = "ConsoleTime",
1997
2070
  USER_TIMING = "UserTiming",
1998
2071
  INTERACTIVE_TIME = "InteractiveTime",
2072
+ CONSOLE_TIME_STAMP = "V8Console::TimeStamp",
1999
2073
  BEGIN_FRAME = "BeginFrame",
2000
2074
  NEEDS_BEGIN_FRAME_CHANGED = "NeedsBeginFrameChanged",
2001
2075
  BEGIN_MAIN_THREAD_FRAME = "BeginMainThreadFrame",
@@ -2037,7 +2111,9 @@ export declare const enum Name {
2037
2111
  RENDER_FRAME_IMPL_CREATE_CHILD_FRAME = "RenderFrameImpl::createChildFrame",
2038
2112
  LAYOUT_IMAGE_UNSIZED = "LayoutImageUnsized",
2039
2113
  DOM_LOADING = "domLoading",
2040
- BEGIN_REMOTE_FONT_LOAD = "BeginRemoteFontLoad"
2114
+ BEGIN_REMOTE_FONT_LOAD = "BeginRemoteFontLoad",
2115
+ ANIMATION_FRAME = "AnimationFrame",
2116
+ ANIMATION_FRAME_PRESENTATION = "AnimationFrame::Presentation"
2041
2117
  }
2042
2118
  export declare const Categories: {
2043
2119
  readonly Console: "blink.console";
@@ -84,6 +84,15 @@ export function isRenderFrameImplCreateChildFrame(event) {
84
84
  export function isLayoutImageUnsized(event) {
85
85
  return event.name === "LayoutImageUnsized" /* Name.LAYOUT_IMAGE_UNSIZED */;
86
86
  }
87
+ export function isAnimationFrameAsyncStart(data) {
88
+ return data.name === "AnimationFrame" /* Name.ANIMATION_FRAME */ && data.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
89
+ }
90
+ export function isAnimationFrameAsyncEnd(data) {
91
+ return data.name === "AnimationFrame" /* Name.ANIMATION_FRAME */ && data.ph === "e" /* Phase.ASYNC_NESTABLE_END */;
92
+ }
93
+ export function isAnimationFramePresentation(data) {
94
+ return data.name === "AnimationFrame::Presentation" /* Name.ANIMATION_FRAME_PRESENTATION */;
95
+ }
87
96
  export function isPipelineReporter(event) {
88
97
  return event.name === "PipelineReporter" /* Name.PIPELINE_REPORTER */;
89
98
  }
@@ -165,45 +174,45 @@ export function isLayout(event) {
165
174
  export function isInvalidateLayout(event) {
166
175
  return event.name === "InvalidateLayout" /* Name.INVALIDATE_LAYOUT */;
167
176
  }
177
+ export function isDebuggerAsyncTaskScheduled(event) {
178
+ return event.name === "v8::Debugger::AsyncTaskScheduled" /* Name.DEBUGGER_ASYNC_TASK_SCHEDULED */;
179
+ }
180
+ export function isDebuggerAsyncTaskRun(event) {
181
+ return event.name === "v8::Debugger::AsyncTaskRun" /* Name.DEBUGGER_ASYNC_TASK_RUN */;
182
+ }
168
183
  class ProfileIdTag {
169
184
  #profileIdTag;
170
185
  }
171
- // eslint-disable-next-line @typescript-eslint/naming-convention
172
186
  export function ProfileID(value) {
173
187
  return value;
174
188
  }
175
189
  class CallFrameIdTag {
176
190
  #callFrameIdTag;
177
191
  }
178
- // eslint-disable-next-line @typescript-eslint/naming-convention
179
192
  export function CallFrameID(value) {
180
193
  return value;
181
194
  }
182
195
  class SampleIndexTag {
183
196
  #sampleIndexTag;
184
197
  }
185
- // eslint-disable-next-line @typescript-eslint/naming-convention
186
198
  export function SampleIndex(value) {
187
199
  return value;
188
200
  }
189
201
  class ProcessIdTag {
190
202
  #processIdTag;
191
203
  }
192
- // eslint-disable-next-line @typescript-eslint/naming-convention
193
204
  export function ProcessID(value) {
194
205
  return value;
195
206
  }
196
207
  class ThreadIdTag {
197
208
  #threadIdTag;
198
209
  }
199
- // eslint-disable-next-line @typescript-eslint/naming-convention
200
210
  export function ThreadID(value) {
201
211
  return value;
202
212
  }
203
213
  class WorkerIdTag {
204
214
  #workerIdTag;
205
215
  }
206
- // eslint-disable-next-line @typescript-eslint/naming-convention
207
216
  export function WorkerId(value) {
208
217
  return value;
209
218
  }
@@ -237,6 +246,9 @@ export function isHandlePostMessage(event) {
237
246
  export function isUpdateCounters(event) {
238
247
  return event.name === 'UpdateCounters';
239
248
  }
249
+ export function isDOMStats(event) {
250
+ return event.name === 'DOMStats';
251
+ }
240
252
  export function isThreadName(event) {
241
253
  return event.name === "thread_name" /* Name.THREAD_NAME */;
242
254
  }
@@ -271,7 +283,7 @@ export function isSyntheticAnimation(event) {
271
283
  return 'beginEvent' in data && 'endEvent' in data;
272
284
  }
273
285
  export function isLayoutShift(event) {
274
- return event.name === 'LayoutShift';
286
+ return event.name === "LayoutShift" /* Name.LAYOUT_SHIFT */;
275
287
  }
276
288
  export function isLayoutInvalidationTracking(event) {
277
289
  return event.name === "LayoutInvalidationTracking" /* Name.LAYOUT_INVALIDATION_TRACKING */;
@@ -393,23 +405,23 @@ export function isBeginRemoteFontLoad(event) {
393
405
  export function isPerformanceMeasure(event) {
394
406
  return isUserTiming(event) && isPhaseAsync(event.ph);
395
407
  }
408
+ export function isPerformanceMeasureBegin(event) {
409
+ return isPerformanceMeasure(event) && event.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
410
+ }
396
411
  export function isPerformanceMark(event) {
397
412
  return isUserTiming(event) && (event.ph === "R" /* Phase.MARK */ || event.ph === "I" /* Phase.INSTANT */);
398
413
  }
399
414
  export function isConsoleTime(event) {
400
415
  return event.cat === 'blink.console' && isPhaseAsync(event.ph);
401
416
  }
402
- export function isTimeStamp(event) {
403
- return event.ph === "I" /* Phase.INSTANT */ && event.name === 'TimeStamp';
417
+ export function isConsoleTimeStamp(event) {
418
+ return event.ph === "X" /* Phase.COMPLETE */ && event.name === "V8Console::TimeStamp" /* Name.CONSOLE_TIME_STAMP */;
404
419
  }
405
420
  export function isParseHTML(event) {
406
421
  return event.name === 'ParseHTML';
407
422
  }
408
423
  export function isSyntheticLayoutShift(event) {
409
- if (!isLayoutShift(event) || !event.args.data) {
410
- return false;
411
- }
412
- return 'rawEvent' in event.args.data;
424
+ return event.name === "SyntheticLayoutShift" /* Name.SYNTHETIC_LAYOUT_SHIFT */;
413
425
  }
414
426
  export function isSyntheticLayoutShiftCluster(event) {
415
427
  return event.name === "SyntheticLayoutShiftCluster" /* Name.SYNTHETIC_LAYOUT_SHIFT_CLUSTER */;
@@ -505,7 +517,8 @@ export function isAbortPostTaskCallback(event) {
505
517
  /**
506
518
  * Generally, before JS is executed, a trace event is dispatched that
507
519
  * parents the JS calls. These we call "invocation" events. This
508
- * function determines if an event is one of such.
520
+ * function determines if an event is one of such. Note: these are also
521
+ * commonly referred to as "JS entry points".
509
522
  */
510
523
  export function isJSInvocationEvent(event) {
511
524
  switch (event.name) {
@@ -516,14 +529,21 @@ export function isJSInvocationEvent(event) {
516
529
  case "v8.evaluateModule" /* Name.EVALUATE_MODULE */:
517
530
  case "EventDispatch" /* Name.EVENT_DISPATCH */:
518
531
  case "V8.Execute" /* Name.V8_EXECUTE */:
532
+ case "V8Console::runTask" /* Name.V8_CONSOLE_RUN_TASK */:
519
533
  return true;
520
534
  }
521
535
  // Also consider any new v8 trace events. (eg 'V8.RunMicrotasks' and 'v8.run')
522
536
  if (event.name.startsWith('v8') || event.name.startsWith('V8')) {
523
537
  return true;
524
538
  }
539
+ if (isConsoleRunTask(event)) {
540
+ return true;
541
+ }
525
542
  return false;
526
543
  }
544
+ export function isConsoleRunTask(event) {
545
+ return event.name === "V8Console::runTask" /* Name.V8_CONSOLE_RUN_TASK */;
546
+ }
527
547
  export function isFlowPhaseEvent(event) {
528
548
  return event.ph === "s" /* Phase.FLOW_START */ || event.ph === "t" /* Phase.FLOW_STEP */ || event.ph === "f" /* Phase.FLOW_END */;
529
549
  }