@paulirish/trace_engine 0.0.53 → 0.0.55

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 (241) hide show
  1. package/.tmp/tsbuildinfo/analyze-inspector-issues.d.mts +13 -0
  2. package/.tmp/tsbuildinfo/analyze-inspector-issues.d.mts.map +1 -0
  3. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  4. package/analyze-inspector-issues.mjs +60 -0
  5. package/core/common/common.d.ts +1 -0
  6. package/core/common/common.js +1 -0
  7. package/core/host/host.d.ts +1 -0
  8. package/core/host/host.js +1 -0
  9. package/core/platform/MimeType.d.ts +3 -2
  10. package/core/platform/MimeType.js +4 -3
  11. package/core/platform/MimeType.js.map +1 -1
  12. package/core/root/root.d.ts +1 -0
  13. package/core/root/root.js +1 -0
  14. package/core/sdk/sdk.d.ts +1 -0
  15. package/core/sdk/sdk.js +1 -0
  16. package/generated/protocol.d.ts +115 -16
  17. package/locales/af.json +52 -10
  18. package/locales/am.json +52 -10
  19. package/locales/ar.json +51 -9
  20. package/locales/as.json +52 -10
  21. package/locales/az.json +52 -10
  22. package/locales/be.json +52 -10
  23. package/locales/bg.json +52 -10
  24. package/locales/bn.json +52 -10
  25. package/locales/bs.json +52 -10
  26. package/locales/ca.json +52 -10
  27. package/locales/cs.json +52 -10
  28. package/locales/cy.json +52 -10
  29. package/locales/da.json +52 -10
  30. package/locales/de.json +52 -10
  31. package/locales/el.json +52 -10
  32. package/locales/en-GB.json +52 -10
  33. package/locales/en-US.json +12 -12
  34. package/locales/en-XL.json +12 -12
  35. package/locales/es-419.json +52 -10
  36. package/locales/es.json +50 -8
  37. package/locales/et.json +52 -10
  38. package/locales/eu.json +52 -10
  39. package/locales/fa.json +51 -9
  40. package/locales/fi.json +52 -10
  41. package/locales/fil.json +52 -10
  42. package/locales/fr-CA.json +52 -10
  43. package/locales/fr.json +52 -10
  44. package/locales/gl.json +52 -10
  45. package/locales/gu.json +52 -10
  46. package/locales/he.json +52 -10
  47. package/locales/hi.json +52 -10
  48. package/locales/hr.json +52 -10
  49. package/locales/hu.json +51 -9
  50. package/locales/hy.json +51 -9
  51. package/locales/id.json +52 -10
  52. package/locales/is.json +53 -11
  53. package/locales/it.json +51 -9
  54. package/locales/ja.json +52 -10
  55. package/locales/ka.json +53 -11
  56. package/locales/kk.json +51 -9
  57. package/locales/km.json +52 -10
  58. package/locales/kn.json +52 -10
  59. package/locales/ko.json +52 -10
  60. package/locales/ky.json +51 -9
  61. package/locales/lo.json +52 -10
  62. package/locales/lt.json +52 -10
  63. package/locales/lv.json +51 -9
  64. package/locales/mk.json +52 -10
  65. package/locales/ml.json +53 -11
  66. package/locales/mn.json +52 -10
  67. package/locales/mr.json +52 -10
  68. package/locales/ms.json +52 -10
  69. package/locales/my.json +51 -9
  70. package/locales/ne.json +52 -10
  71. package/locales/nl.json +52 -10
  72. package/locales/no.json +52 -10
  73. package/locales/or.json +53 -11
  74. package/locales/pa.json +53 -11
  75. package/locales/pl.json +51 -9
  76. package/locales/pt-PT.json +52 -10
  77. package/locales/pt.json +52 -10
  78. package/locales/ro.json +52 -10
  79. package/locales/ru.json +53 -11
  80. package/locales/si.json +52 -10
  81. package/locales/sk.json +51 -9
  82. package/locales/sl.json +51 -9
  83. package/locales/sq.json +52 -10
  84. package/locales/sr-Latn.json +52 -10
  85. package/locales/sr.json +52 -10
  86. package/locales/sv.json +52 -10
  87. package/locales/sw.json +51 -9
  88. package/locales/ta.json +52 -10
  89. package/locales/te.json +52 -10
  90. package/locales/th.json +51 -9
  91. package/locales/tr.json +52 -10
  92. package/locales/uk.json +52 -10
  93. package/locales/ur.json +52 -10
  94. package/locales/uz.json +51 -9
  95. package/locales/vi.json +52 -10
  96. package/locales/zh-HK.json +52 -10
  97. package/locales/zh-TW.json +51 -9
  98. package/locales/zh.json +52 -10
  99. package/locales/zu.json +52 -10
  100. package/models/cpu_profile/CPUProfileDataModel.d.ts +4 -2
  101. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
  102. package/models/cpu_profile/ProfileTreeModel.d.ts +0 -1
  103. package/models/cpu_profile/ProfileTreeModel.js +0 -2
  104. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  105. package/models/issues_manager/CheckFormsIssuesTrigger.d.ts +1 -0
  106. package/models/issues_manager/CheckFormsIssuesTrigger.js +1 -0
  107. package/models/issues_manager/ContrastCheckTrigger.d.ts +1 -0
  108. package/models/issues_manager/ContrastCheckTrigger.js +1 -0
  109. package/models/issues_manager/DeprecationIssue.d.ts +1 -0
  110. package/models/issues_manager/DeprecationIssue.js +1 -0
  111. package/models/issues_manager/IssueResolver.d.ts +1 -0
  112. package/models/issues_manager/IssueResolver.js +1 -0
  113. package/models/issues_manager/RelatedIssue.d.ts +1 -0
  114. package/models/issues_manager/RelatedIssue.js +1 -0
  115. package/models/issues_manager/SourceFrameIssuesManager.d.ts +1 -0
  116. package/models/issues_manager/SourceFrameIssuesManager.js +1 -0
  117. package/models/trace/LanternComputationData.js +9 -8
  118. package/models/trace/LanternComputationData.js.map +1 -1
  119. package/models/trace/ModelImpl.js +1 -1
  120. package/models/trace/ModelImpl.js.map +1 -1
  121. package/models/trace/Processor.js +23 -16
  122. package/models/trace/Processor.js.map +1 -1
  123. package/models/trace/extras/ThirdParties.js +1 -1
  124. package/models/trace/extras/ThirdParties.js.map +1 -1
  125. package/models/trace/extras/TraceFilter.js +2 -2
  126. package/models/trace/extras/TraceFilter.js.map +1 -1
  127. package/models/trace/extras/extras-tsconfig.json +0 -2
  128. package/models/trace/extras/extras.d.ts +4 -1
  129. package/models/trace/extras/extras.js +4 -1
  130. package/models/trace/extras/extras.js.map +1 -1
  131. package/models/trace/handlers/AuctionWorkletsHandler.js +5 -5
  132. package/models/trace/handlers/AuctionWorkletsHandler.js.map +1 -1
  133. package/models/trace/handlers/ExtensionTraceDataHandler.js +4 -4
  134. package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
  135. package/models/trace/handlers/FlowsHandler.js +3 -3
  136. package/models/trace/handlers/FlowsHandler.js.map +1 -1
  137. package/models/trace/handlers/FramesHandler.js +7 -7
  138. package/models/trace/handlers/FramesHandler.js.map +1 -1
  139. package/models/trace/handlers/LargestImagePaintHandler.js +2 -2
  140. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
  141. package/models/trace/handlers/LayoutShiftsHandler.d.ts +1 -1
  142. package/models/trace/handlers/LayoutShiftsHandler.js +18 -10
  143. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  144. package/models/trace/handlers/MetaHandler.js +9 -7
  145. package/models/trace/handlers/MetaHandler.js.map +1 -1
  146. package/models/trace/handlers/NetworkRequestsHandler.d.ts +0 -5
  147. package/models/trace/handlers/NetworkRequestsHandler.js +3 -22
  148. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  149. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +2 -2
  150. package/models/trace/handlers/PageLoadMetricsHandler.js +54 -25
  151. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  152. package/models/trace/handlers/RendererHandler.js +1 -1
  153. package/models/trace/handlers/RendererHandler.js.map +1 -1
  154. package/models/trace/handlers/SamplesHandler.js +7 -2
  155. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  156. package/models/trace/handlers/ScriptsHandler.js.map +1 -1
  157. package/models/trace/handlers/Threads.d.ts +1 -1
  158. package/models/trace/handlers/Threads.js +17 -7
  159. package/models/trace/handlers/Threads.js.map +1 -1
  160. package/models/trace/handlers/UserInteractionsHandler.js +4 -3
  161. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  162. package/models/trace/handlers/WarningsHandler.js +2 -2
  163. package/models/trace/handlers/WarningsHandler.js.map +1 -1
  164. package/models/trace/helpers/SamplesIntegrator.d.ts +1 -1
  165. package/models/trace/helpers/SamplesIntegrator.js +23 -21
  166. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  167. package/models/trace/helpers/Trace.js +111 -118
  168. package/models/trace/helpers/Trace.js.map +1 -1
  169. package/models/trace/insights/CLSCulprits.d.ts +25 -5
  170. package/models/trace/insights/CLSCulprits.js +73 -33
  171. package/models/trace/insights/CLSCulprits.js.map +1 -1
  172. package/models/trace/insights/Common.js +4 -3
  173. package/models/trace/insights/Common.js.map +1 -1
  174. package/models/trace/insights/DOMSize.js +3 -3
  175. package/models/trace/insights/DOMSize.js.map +1 -1
  176. package/models/trace/insights/DocumentLatency.d.ts +2 -2
  177. package/models/trace/insights/DocumentLatency.js +4 -4
  178. package/models/trace/insights/DocumentLatency.js.map +1 -1
  179. package/models/trace/insights/DuplicatedJavaScript.js +2 -2
  180. package/models/trace/insights/DuplicatedJavaScript.js.map +1 -1
  181. package/models/trace/insights/FontDisplay.js +2 -2
  182. package/models/trace/insights/FontDisplay.js.map +1 -1
  183. package/models/trace/insights/ForcedReflow.js +2 -2
  184. package/models/trace/insights/ForcedReflow.js.map +1 -1
  185. package/models/trace/insights/ImageDelivery.js +2 -2
  186. package/models/trace/insights/ImageDelivery.js.map +1 -1
  187. package/models/trace/insights/InteractionToNextPaint.js +3 -3
  188. package/models/trace/insights/InteractionToNextPaint.js.map +1 -1
  189. package/models/trace/insights/LCPDiscovery.js +3 -3
  190. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  191. package/models/trace/insights/LCPPhases.js +3 -3
  192. package/models/trace/insights/LCPPhases.js.map +1 -1
  193. package/models/trace/insights/LegacyJavaScript.js +2 -2
  194. package/models/trace/insights/LegacyJavaScript.js.map +1 -1
  195. package/models/trace/insights/ModernHTTP.js +2 -2
  196. package/models/trace/insights/ModernHTTP.js.map +1 -1
  197. package/models/trace/insights/NetworkDependencyTree.d.ts +31 -5
  198. package/models/trace/insights/NetworkDependencyTree.js +137 -12
  199. package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
  200. package/models/trace/insights/RenderBlocking.js +3 -3
  201. package/models/trace/insights/RenderBlocking.js.map +1 -1
  202. package/models/trace/insights/SlowCSSSelector.js +2 -2
  203. package/models/trace/insights/SlowCSSSelector.js.map +1 -1
  204. package/models/trace/insights/ThirdParties.js +2 -2
  205. package/models/trace/insights/ThirdParties.js.map +1 -1
  206. package/models/trace/insights/Viewport.d.ts +8 -2
  207. package/models/trace/insights/Viewport.js +18 -3
  208. package/models/trace/insights/Viewport.js.map +1 -1
  209. package/models/trace/insights/types.d.ts +1 -1
  210. package/models/trace/insights/types.js +19 -0
  211. package/models/trace/insights/types.js.map +1 -1
  212. package/models/trace/lantern/graph/BaseNode.d.ts +5 -2
  213. package/models/trace/lantern/graph/BaseNode.js +8 -5
  214. package/models/trace/lantern/graph/BaseNode.js.map +1 -1
  215. package/models/trace/lantern/graph/PageDependencyGraph.js +46 -3
  216. package/models/trace/lantern/graph/PageDependencyGraph.js.map +1 -1
  217. package/models/trace/lantern/simulation/Simulator.js +1 -1
  218. package/models/trace/lantern/simulation/Simulator.js.map +1 -1
  219. package/models/trace/trace-tsconfig.json +0 -1
  220. package/models/trace/trace.d.ts +1 -2
  221. package/models/trace/trace.js +1 -2
  222. package/models/trace/trace.js.map +1 -1
  223. package/models/trace/types/Extensions.d.ts +6 -1
  224. package/models/trace/types/Extensions.js.map +1 -1
  225. package/models/trace/types/File.d.ts +18 -4
  226. package/models/trace/types/File.js +28 -4
  227. package/models/trace/types/File.js.map +1 -1
  228. package/models/trace/types/TraceEvents.d.ts +13 -10
  229. package/models/trace/types/TraceEvents.js +377 -108
  230. package/models/trace/types/TraceEvents.js.map +1 -1
  231. package/package.json +1 -1
  232. package/test/test-trace-engine.mjs +77 -0
  233. package/third_party/marked/marked.d.ts +1 -0
  234. package/third_party/marked/marked.js +1 -0
  235. package/models/trace/TracingManager.js.map +0 -1
  236. package/models/trace/extras/FetchNodes.d.ts +0 -61
  237. package/models/trace/extras/FetchNodes.js +0 -214
  238. package/models/trace/extras/FetchNodes.js.map +0 -1
  239. package/models/trace/extras/Metadata.d.ts +0 -3
  240. package/models/trace/extras/Metadata.js +0 -71
  241. package/models/trace/extras/Metadata.js.map +0 -1
@@ -1,17 +1,60 @@
1
1
  // Copyright 2022 The Chromium Authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
+ // Trace Events.
5
+ export var Phase;
6
+ (function (Phase) {
7
+ // Standard
8
+ Phase["BEGIN"] = "B";
9
+ Phase["END"] = "E";
10
+ Phase["COMPLETE"] = "X";
11
+ Phase["INSTANT"] = "I";
12
+ Phase["COUNTER"] = "C";
13
+ // Async
14
+ Phase["ASYNC_NESTABLE_START"] = "b";
15
+ Phase["ASYNC_NESTABLE_INSTANT"] = "n";
16
+ Phase["ASYNC_NESTABLE_END"] = "e";
17
+ Phase["ASYNC_STEP_INTO"] = "T";
18
+ Phase["ASYNC_BEGIN"] = "S";
19
+ Phase["ASYNC_END"] = "F";
20
+ Phase["ASYNC_STEP_PAST"] = "p";
21
+ // Flow
22
+ Phase["FLOW_START"] = "s";
23
+ Phase["FLOW_STEP"] = "t";
24
+ Phase["FLOW_END"] = "f";
25
+ // Sample
26
+ Phase["SAMPLE"] = "P";
27
+ // Object
28
+ Phase["OBJECT_CREATED"] = "N";
29
+ Phase["OBJECT_SNAPSHOT"] = "O";
30
+ Phase["OBJECT_DESTROYED"] = "D";
31
+ // Metadata
32
+ Phase["METADATA"] = "M";
33
+ // Memory Dump
34
+ Phase["MEMORY_DUMP_GLOBAL"] = "V";
35
+ Phase["MEMORY_DUMP_PROCESS"] = "v";
36
+ // Mark
37
+ Phase["MARK"] = "R";
38
+ // Clock sync
39
+ Phase["CLOCK_SYNC"] = "c";
40
+ })(Phase || (Phase = {}));
4
41
  export function isNestableAsyncPhase(phase) {
5
- return phase === "b" /* Phase.ASYNC_NESTABLE_START */ || phase === "e" /* Phase.ASYNC_NESTABLE_END */ ||
6
- phase === "n" /* Phase.ASYNC_NESTABLE_INSTANT */;
42
+ return phase === Phase.ASYNC_NESTABLE_START || phase === Phase.ASYNC_NESTABLE_END ||
43
+ phase === Phase.ASYNC_NESTABLE_INSTANT;
7
44
  }
8
45
  export function isPhaseAsync(phase) {
9
- return isNestableAsyncPhase(phase) || phase === "S" /* Phase.ASYNC_BEGIN */ || phase === "T" /* Phase.ASYNC_STEP_INTO */ ||
10
- phase === "F" /* Phase.ASYNC_END */ || phase === "p" /* Phase.ASYNC_STEP_PAST */;
46
+ return isNestableAsyncPhase(phase) || phase === Phase.ASYNC_BEGIN || phase === Phase.ASYNC_STEP_INTO ||
47
+ phase === Phase.ASYNC_END || phase === Phase.ASYNC_STEP_PAST;
11
48
  }
12
49
  export function isFlowPhase(phase) {
13
- return phase === "s" /* Phase.FLOW_START */ || phase === "t" /* Phase.FLOW_STEP */ || phase === "f" /* Phase.FLOW_END */;
14
- }
50
+ return phase === Phase.FLOW_START || phase === Phase.FLOW_STEP || phase === Phase.FLOW_END;
51
+ }
52
+ export var Scope;
53
+ (function (Scope) {
54
+ Scope["THREAD"] = "t";
55
+ Scope["PROCESS"] = "p";
56
+ Scope["GLOBAL"] = "g";
57
+ })(Scope || (Scope = {}));
15
58
  export function objectIsCallFrame(object) {
16
59
  return ('functionName' in object && typeof object.functionName === 'string') &&
17
60
  ('scriptId' in object && (typeof object.scriptId === 'string' || typeof object.scriptId === 'number')) &&
@@ -20,8 +63,16 @@ export function objectIsCallFrame(object) {
20
63
  ('url' in object && typeof object.url === 'string');
21
64
  }
22
65
  export function isRunTask(event) {
23
- return event.name === "RunTask" /* Name.RUN_TASK */;
24
- }
66
+ return event.name === Name.RUN_TASK;
67
+ }
68
+ export var AuctionWorkletType;
69
+ (function (AuctionWorkletType) {
70
+ AuctionWorkletType["BIDDER"] = "bidder";
71
+ AuctionWorkletType["SELLER"] = "seller";
72
+ // Not expected to be used, but here as a fallback in case new types get
73
+ // added and we have yet to update the trace engine.
74
+ AuctionWorkletType["UNKNOWN"] = "unknown";
75
+ })(AuctionWorkletType || (AuctionWorkletType = {}));
25
76
  export function isAuctionWorkletRunningInProcess(event) {
26
77
  return event.name === 'AuctionWorkletRunningInProcess';
27
78
  }
@@ -29,13 +80,13 @@ export function isAuctionWorkletDoneWithProcess(event) {
29
80
  return event.name === 'AuctionWorkletDoneWithProcess';
30
81
  }
31
82
  export function isLegacyScreenshot(event) {
32
- return event.name === "Screenshot" /* Name.SCREENSHOT */ && 'id' in event;
83
+ return event.name === Name.SCREENSHOT && 'id' in event;
33
84
  }
34
85
  export function isLegacySyntheticScreenshot(event) {
35
- return event.name === "Screenshot" /* Name.SCREENSHOT */ && 'dataUri' in (event.args ?? {});
86
+ return event.name === Name.SCREENSHOT && 'dataUri' in (event.args ?? {});
36
87
  }
37
88
  export function isScreenshot(event) {
38
- return event.name === "Screenshot" /* Name.SCREENSHOT */ && 'source_id' in (event.args ?? {});
89
+ return event.name === Name.SCREENSHOT && 'source_id' in (event.args ?? {});
39
90
  }
40
91
  const markerTypeGuards = [
41
92
  isMarkDOMContent,
@@ -47,7 +98,7 @@ const markerTypeGuards = [
47
98
  ];
48
99
  export const MarkerName = ['MarkDOMContent', 'MarkLoad', 'firstPaint', 'firstContentfulPaint', 'largestContentfulPaint::Candidate'];
49
100
  export function isMarkerEvent(event) {
50
- if (event.ph === "I" /* Phase.INSTANT */ || event.ph === "R" /* Phase.MARK */) {
101
+ if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
51
102
  return markerTypeGuards.some(fn => fn(event));
52
103
  }
53
104
  return false;
@@ -57,7 +108,7 @@ const pageLoadEventTypeGuards = [
57
108
  isInteractiveTime,
58
109
  ];
59
110
  export function eventIsPageLoadEvent(event) {
60
- if (event.ph === "I" /* Phase.INSTANT */ || event.ph === "R" /* Phase.MARK */) {
111
+ if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
61
112
  return pageLoadEventTypeGuards.some(fn => fn(event));
62
113
  }
63
114
  return false;
@@ -66,44 +117,59 @@ export function isTracingSessionIdForWorker(event) {
66
117
  return event.name === 'TracingSessionIdForWorker';
67
118
  }
68
119
  export const NO_NAVIGATION = 'NO_NAVIGATION';
120
+ export var LayoutInvalidationReason;
121
+ (function (LayoutInvalidationReason) {
122
+ LayoutInvalidationReason["SIZE_CHANGED"] = "Size changed";
123
+ LayoutInvalidationReason["ATTRIBUTE"] = "Attribute";
124
+ LayoutInvalidationReason["ADDED_TO_LAYOUT"] = "Added to layout";
125
+ LayoutInvalidationReason["SCROLLBAR_CHANGED"] = "Scrollbar changed";
126
+ LayoutInvalidationReason["REMOVED_FROM_LAYOUT"] = "Removed from layout";
127
+ LayoutInvalidationReason["STYLE_CHANGED"] = "Style changed";
128
+ LayoutInvalidationReason["FONTS_CHANGED"] = "Fonts changed";
129
+ LayoutInvalidationReason["UNKNOWN"] = "Unknown";
130
+ })(LayoutInvalidationReason || (LayoutInvalidationReason = {}));
69
131
  export function isScheduleStyleInvalidationTracking(event) {
70
- return event.name === "ScheduleStyleInvalidationTracking" /* Name.SCHEDULE_STYLE_INVALIDATION_TRACKING */;
132
+ return event.name === Name.SCHEDULE_STYLE_INVALIDATION_TRACKING;
71
133
  }
134
+ export var StyleRecalcInvalidationReason;
135
+ (function (StyleRecalcInvalidationReason) {
136
+ StyleRecalcInvalidationReason["ANIMATION"] = "Animation";
137
+ })(StyleRecalcInvalidationReason || (StyleRecalcInvalidationReason = {}));
72
138
  export function isStyleRecalcInvalidationTracking(event) {
73
- return event.name === "StyleRecalcInvalidationTracking" /* Name.STYLE_RECALC_INVALIDATION_TRACKING */;
139
+ return event.name === Name.STYLE_RECALC_INVALIDATION_TRACKING;
74
140
  }
75
141
  export function isStyleInvalidatorInvalidationTracking(event) {
76
- return event.name === "StyleInvalidatorInvalidationTracking" /* Name.STYLE_INVALIDATOR_INVALIDATION_TRACKING */;
142
+ return event.name === Name.STYLE_INVALIDATOR_INVALIDATION_TRACKING;
77
143
  }
78
144
  export function isBeginCommitCompositorFrame(event) {
79
- return event.name === "BeginCommitCompositorFrame" /* Name.BEGIN_COMMIT_COMPOSITOR_FRAME */;
145
+ return event.name === Name.BEGIN_COMMIT_COMPOSITOR_FRAME;
80
146
  }
81
147
  export function isParseMetaViewport(event) {
82
- return event.name === "ParseMetaViewport" /* Name.PARSE_META_VIEWPORT */;
148
+ return event.name === Name.PARSE_META_VIEWPORT;
83
149
  }
84
150
  export function isLinkPreconnect(event) {
85
- return event.name === "LinkPreconnect" /* Name.LINK_PRECONNECT */;
151
+ return event.name === Name.LINK_PRECONNECT;
86
152
  }
87
153
  export function isScheduleStyleRecalculation(event) {
88
- return event.name === "ScheduleStyleRecalculation" /* Name.SCHEDULE_STYLE_RECALCULATION */;
154
+ return event.name === Name.SCHEDULE_STYLE_RECALCULATION;
89
155
  }
90
156
  export function isRenderFrameImplCreateChildFrame(event) {
91
- return event.name === "RenderFrameImpl::createChildFrame" /* Name.RENDER_FRAME_IMPL_CREATE_CHILD_FRAME */;
157
+ return event.name === Name.RENDER_FRAME_IMPL_CREATE_CHILD_FRAME;
92
158
  }
93
159
  export function isLayoutImageUnsized(event) {
94
- return event.name === "LayoutImageUnsized" /* Name.LAYOUT_IMAGE_UNSIZED */;
160
+ return event.name === Name.LAYOUT_IMAGE_UNSIZED;
95
161
  }
96
162
  export function isAnimationFrameAsyncStart(data) {
97
- return data.name === "AnimationFrame" /* Name.ANIMATION_FRAME */ && data.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
163
+ return data.name === Name.ANIMATION_FRAME && data.ph === Phase.ASYNC_NESTABLE_START;
98
164
  }
99
165
  export function isAnimationFrameAsyncEnd(data) {
100
- return data.name === "AnimationFrame" /* Name.ANIMATION_FRAME */ && data.ph === "e" /* Phase.ASYNC_NESTABLE_END */;
166
+ return data.name === Name.ANIMATION_FRAME && data.ph === Phase.ASYNC_NESTABLE_END;
101
167
  }
102
168
  export function isAnimationFramePresentation(data) {
103
- return data.name === "AnimationFrame::Presentation" /* Name.ANIMATION_FRAME_PRESENTATION */;
169
+ return data.name === Name.ANIMATION_FRAME_PRESENTATION;
104
170
  }
105
171
  export function isPipelineReporter(event) {
106
- return event.name === "PipelineReporter" /* Name.PIPELINE_REPORTER */;
172
+ return event.name === Name.PIPELINE_REPORTER;
107
173
  }
108
174
  export function isSyntheticBased(event) {
109
175
  return 'rawSourceEvent' in event;
@@ -113,50 +179,50 @@ export function isSyntheticInteraction(event) {
113
179
  }
114
180
  export function isDrawFrame(event) {
115
181
  // The extra check for INSTANT here is because in the past DrawFrame events had an ASYNC_NESTABLE_START and ASYNC_NESTABLE_END pair. We don't want to support those old events, so we have to check we are dealing with an instant event.
116
- return event.name === "DrawFrame" /* Name.DRAW_FRAME */ && event.ph === "I" /* Phase.INSTANT */;
182
+ return event.name === Name.DRAW_FRAME && event.ph === Phase.INSTANT;
117
183
  }
118
184
  export function isBeginFrame(event) {
119
185
  // Old traces did not have frameSeqId; but we do not want to support these.
120
- return Boolean(event.name === "BeginFrame" /* Name.BEGIN_FRAME */ && event.args && 'frameSeqId' in event.args);
186
+ return Boolean(event.name === Name.BEGIN_FRAME && event.args && 'frameSeqId' in event.args);
121
187
  }
122
188
  export function isDroppedFrame(event) {
123
189
  // Old traces did not have frameSeqId; but we do not want to support these.
124
- return Boolean(event.name === "DroppedFrame" /* Name.DROPPED_FRAME */ && event.args && 'frameSeqId' in event.args);
190
+ return Boolean(event.name === Name.DROPPED_FRAME && event.args && 'frameSeqId' in event.args);
125
191
  }
126
192
  export function isRequestMainThreadFrame(event) {
127
- return event.name === "RequestMainThreadFrame" /* Name.REQUEST_MAIN_THREAD_FRAME */;
193
+ return event.name === Name.REQUEST_MAIN_THREAD_FRAME;
128
194
  }
129
195
  export function isBeginMainThreadFrame(event) {
130
- return event.name === "BeginMainThreadFrame" /* Name.BEGIN_MAIN_THREAD_FRAME */;
196
+ return event.name === Name.BEGIN_MAIN_THREAD_FRAME;
131
197
  }
132
198
  export function isNeedsBeginFrameChanged(event) {
133
- return event.name === "NeedsBeginFrameChanged" /* Name.NEEDS_BEGIN_FRAME_CHANGED */;
199
+ return event.name === Name.NEEDS_BEGIN_FRAME_CHANGED;
134
200
  }
135
201
  export function isCommit(event) {
136
202
  // Old traces did not have frameSeqId; but we do not want to support these.
137
- return Boolean(event.name === "Commit" /* Name.COMMIT */ && event.args && 'frameSeqId' in event.args);
203
+ return Boolean(event.name === Name.COMMIT && event.args && 'frameSeqId' in event.args);
138
204
  }
139
205
  export function isRasterTask(event) {
140
- return event.name === "RasterTask" /* Name.RASTER_TASK */;
206
+ return event.name === Name.RASTER_TASK;
141
207
  }
142
208
  export function isCompositeLayers(event) {
143
- return event.name === "CompositeLayers" /* Name.COMPOSITE_LAYERS */;
209
+ return event.name === Name.COMPOSITE_LAYERS;
144
210
  }
145
211
  export function isActivateLayerTree(event) {
146
- return event.name === "ActivateLayerTree" /* Name.ACTIVATE_LAYER_TREE */;
212
+ return event.name === Name.ACTIVATE_LAYER_TREE;
147
213
  }
148
214
  export function isInvalidationTracking(event) {
149
215
  return isScheduleStyleInvalidationTracking(event) || isStyleRecalcInvalidationTracking(event) ||
150
216
  isStyleInvalidatorInvalidationTracking(event) || isLayoutInvalidationTracking(event);
151
217
  }
152
218
  export function isDrawLazyPixelRef(event) {
153
- return event.name === "Draw LazyPixelRef" /* Name.DRAW_LAZY_PIXEL_REF */;
219
+ return event.name === Name.DRAW_LAZY_PIXEL_REF;
154
220
  }
155
221
  export function isDecodeLazyPixelRef(event) {
156
- return event.name === "Decode LazyPixelRef" /* Name.DECODE_LAZY_PIXEL_REF */;
222
+ return event.name === Name.DECODE_LAZY_PIXEL_REF;
157
223
  }
158
224
  export function isDecodeImage(event) {
159
- return event.name === "Decode Image" /* Name.DECODE_IMAGE */;
225
+ return event.name === Name.DECODE_IMAGE;
160
226
  }
161
227
  export var SelectorTimingsKey;
162
228
  (function (SelectorTimingsKey) {
@@ -169,22 +235,22 @@ export var SelectorTimingsKey;
169
235
  SelectorTimingsKey["StyleSheetId"] = "style_sheet_id";
170
236
  })(SelectorTimingsKey || (SelectorTimingsKey = {}));
171
237
  export function isSelectorStats(event) {
172
- return event.name === "SelectorStats" /* Name.SELECTOR_STATS */;
238
+ return event.name === Name.SELECTOR_STATS;
173
239
  }
174
240
  export function isUpdateLayoutTree(event) {
175
- return event.name === "UpdateLayoutTree" /* Name.UPDATE_LAYOUT_TREE */;
241
+ return event.name === Name.UPDATE_LAYOUT_TREE;
176
242
  }
177
243
  export function isLayout(event) {
178
- return event.name === "Layout" /* Name.LAYOUT */;
244
+ return event.name === Name.LAYOUT;
179
245
  }
180
246
  export function isInvalidateLayout(event) {
181
- return event.name === "InvalidateLayout" /* Name.INVALIDATE_LAYOUT */;
247
+ return event.name === Name.INVALIDATE_LAYOUT;
182
248
  }
183
249
  export function isDebuggerAsyncTaskScheduled(event) {
184
- return event.name === "v8::Debugger::AsyncTaskScheduled" /* Name.DEBUGGER_ASYNC_TASK_SCHEDULED */;
250
+ return event.name === Name.DEBUGGER_ASYNC_TASK_SCHEDULED;
185
251
  }
186
252
  export function isDebuggerAsyncTaskRun(event) {
187
- return event.name === "v8::Debugger::AsyncTaskRun" /* Name.DEBUGGER_ASYNC_TASK_RUN */;
253
+ return event.name === Name.DEBUGGER_ASYNC_TASK_RUN;
188
254
  }
189
255
  export function ProfileID(value) {
190
256
  return value;
@@ -205,19 +271,19 @@ export function WorkerId(value) {
205
271
  return value;
206
272
  }
207
273
  export function isComplete(event) {
208
- return event.ph === "X" /* Phase.COMPLETE */;
274
+ return event.ph === Phase.COMPLETE;
209
275
  }
210
276
  export function isBegin(event) {
211
- return event.ph === "B" /* Phase.BEGIN */;
277
+ return event.ph === Phase.BEGIN;
212
278
  }
213
279
  export function isEnd(event) {
214
- return event.ph === "E" /* Phase.END */;
280
+ return event.ph === Phase.END;
215
281
  }
216
282
  export function isDispatch(event) {
217
283
  return event.name === 'EventDispatch';
218
284
  }
219
285
  export function isInstant(event) {
220
- return event.ph === "I" /* Phase.INSTANT */;
286
+ return event.ph === Phase.INSTANT;
221
287
  }
222
288
  export function isRendererEvent(event) {
223
289
  return isInstant(event) || isComplete(event);
@@ -226,10 +292,10 @@ export function isFireIdleCallback(event) {
226
292
  return event.name === 'FireIdleCallback';
227
293
  }
228
294
  export function isSchedulePostMessage(event) {
229
- return event.name === "SchedulePostMessage" /* Name.SCHEDULE_POST_MESSAGE */;
295
+ return event.name === Name.SCHEDULE_POST_MESSAGE;
230
296
  }
231
297
  export function isHandlePostMessage(event) {
232
- return event.name === "HandlePostMessage" /* Name.HANDLE_POST_MESSAGE */;
298
+ return event.name === Name.HANDLE_POST_MESSAGE;
233
299
  }
234
300
  export function isUpdateCounters(event) {
235
301
  return event.name === 'UpdateCounters';
@@ -238,13 +304,13 @@ export function isDOMStats(event) {
238
304
  return event.name === 'DOMStats';
239
305
  }
240
306
  export function isThreadName(event) {
241
- return event.name === "thread_name" /* Name.THREAD_NAME */;
307
+ return event.name === Name.THREAD_NAME;
242
308
  }
243
309
  export function isProcessName(event) {
244
310
  return event.name === 'process_name';
245
311
  }
246
312
  export function isTracingStartedInBrowser(event) {
247
- return event.name === "TracingStartedInBrowser" /* Name.TRACING_STARTED_IN_BROWSER */;
313
+ return event.name === Name.TRACING_STARTED_IN_BROWSER;
248
314
  }
249
315
  export function isFrameCommittedInBrowser(event) {
250
316
  return event.name === 'FrameCommittedInBrowser';
@@ -267,16 +333,16 @@ export function isSyntheticAnimation(event) {
267
333
  return 'beginEvent' in data && 'endEvent' in data;
268
334
  }
269
335
  export function isLayoutShift(event) {
270
- return event.name === "LayoutShift" /* Name.LAYOUT_SHIFT */;
336
+ return event.name === Name.LAYOUT_SHIFT;
271
337
  }
272
338
  export function isLayoutInvalidationTracking(event) {
273
- return event.name === "LayoutInvalidationTracking" /* Name.LAYOUT_INVALIDATION_TRACKING */;
339
+ return event.name === Name.LAYOUT_INVALIDATION_TRACKING;
274
340
  }
275
341
  export function isFirstContentfulPaint(event) {
276
342
  return event.name === 'firstContentfulPaint';
277
343
  }
278
344
  export function isLargestContentfulPaintCandidate(event) {
279
- return event.name === "largestContentfulPaint::Candidate" /* Name.MARK_LCP_CANDIDATE */;
345
+ return event.name === Name.MARK_LCP_CANDIDATE;
280
346
  }
281
347
  export function isLargestImagePaintCandidate(event) {
282
348
  return event.name === 'LargestImagePaint::Candidate';
@@ -297,25 +363,25 @@ export function isInteractiveTime(event) {
297
363
  return event.name === 'InteractiveTime';
298
364
  }
299
365
  export function isEventTiming(event) {
300
- return event.name === "EventTiming" /* Name.EVENT_TIMING */;
366
+ return event.name === Name.EVENT_TIMING;
301
367
  }
302
368
  export function isEventTimingEnd(event) {
303
- return isEventTiming(event) && event.ph === "e" /* Phase.ASYNC_NESTABLE_END */;
369
+ return isEventTiming(event) && event.ph === Phase.ASYNC_NESTABLE_END;
304
370
  }
305
371
  export function isEventTimingStart(event) {
306
- return isEventTiming(event) && event.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
372
+ return isEventTiming(event) && event.ph === Phase.ASYNC_NESTABLE_START;
307
373
  }
308
374
  export function isGPUTask(event) {
309
375
  return event.name === 'GPUTask';
310
376
  }
311
377
  export function isProfile(event) {
312
- return event.name === 'Profile';
378
+ return event.name === Name.PROFILE;
313
379
  }
314
380
  export function isSyntheticCpuProfile(event) {
315
- return event.name === 'CpuProfile';
381
+ return event.name === Name.CPU_PROFILE;
316
382
  }
317
383
  export function isProfileChunk(event) {
318
- return event.name === 'ProfileChunk';
384
+ return event.name === Name.PROFILE_CHUNK;
319
385
  }
320
386
  export function isResourceChangePriority(event) {
321
387
  return event.name === 'ResourceChangePriority';
@@ -344,7 +410,7 @@ export function isReceivedDataEvent(event) {
344
410
  event.name === 'ResourceReceiveResponse';
345
411
  }
346
412
  export function isSyntheticNetworkRequest(event) {
347
- return event.name === "SyntheticNetworkRequest" /* Name.SYNTHETIC_NETWORK_REQUEST */;
413
+ return event.name === Name.SYNTHETIC_NETWORK_REQUEST;
348
414
  }
349
415
  export function isSyntheticWebSocketConnection(event) {
350
416
  return event.name === 'SyntheticWebSocketConnection';
@@ -389,104 +455,104 @@ export function isUserTiming(event) {
389
455
  return event.cat === 'blink.user_timing';
390
456
  }
391
457
  export function isDomLoading(event) {
392
- return event.name === "domLoading" /* Name.DOM_LOADING */;
458
+ return event.name === Name.DOM_LOADING;
393
459
  }
394
460
  export function isBeginRemoteFontLoad(event) {
395
- return event.name === "BeginRemoteFontLoad" /* Name.BEGIN_REMOTE_FONT_LOAD */;
461
+ return event.name === Name.BEGIN_REMOTE_FONT_LOAD;
396
462
  }
397
463
  export function isRemoteFontLoaded(event) {
398
- return event.name === "RemoteFontLoaded" /* Name.REMOTE_FONT_LOADED */;
464
+ return event.name === Name.REMOTE_FONT_LOADED;
399
465
  }
400
466
  export function isPerformanceMeasure(event) {
401
467
  return isUserTiming(event) && isPhaseAsync(event.ph);
402
468
  }
403
469
  export function isPerformanceMeasureBegin(event) {
404
- return isPerformanceMeasure(event) && event.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
470
+ return isPerformanceMeasure(event) && event.ph === Phase.ASYNC_NESTABLE_START;
405
471
  }
406
472
  export function isPerformanceMark(event) {
407
- return isUserTiming(event) && (event.ph === "R" /* Phase.MARK */ || event.ph === "I" /* Phase.INSTANT */);
473
+ return isUserTiming(event) && (event.ph === Phase.MARK || event.ph === Phase.INSTANT);
408
474
  }
409
475
  export function isConsoleTime(event) {
410
476
  return event.cat === 'blink.console' && isPhaseAsync(event.ph);
411
477
  }
412
478
  export function isConsoleTimeStamp(event) {
413
- return event.ph === "I" /* Phase.INSTANT */ && event.name === "TimeStamp" /* Name.TIME_STAMP */;
479
+ return event.ph === Phase.INSTANT && event.name === Name.TIME_STAMP;
414
480
  }
415
481
  export function isUserTimingMeasure(event) {
416
- return event.name === "UserTiming::Measure" /* Name.USER_TIMING_MEASURE */;
482
+ return event.name === Name.USER_TIMING_MEASURE;
417
483
  }
418
484
  export function isParseHTML(event) {
419
485
  return event.name === 'ParseHTML';
420
486
  }
421
487
  export function isSyntheticLayoutShift(event) {
422
- return event.name === "SyntheticLayoutShift" /* Name.SYNTHETIC_LAYOUT_SHIFT */;
488
+ return event.name === Name.SYNTHETIC_LAYOUT_SHIFT;
423
489
  }
424
490
  export function isSyntheticLayoutShiftCluster(event) {
425
- return event.name === "SyntheticLayoutShiftCluster" /* Name.SYNTHETIC_LAYOUT_SHIFT_CLUSTER */;
491
+ return event.name === Name.SYNTHETIC_LAYOUT_SHIFT_CLUSTER;
426
492
  }
427
493
  export function isProfileCall(event) {
428
494
  return 'callFrame' in event;
429
495
  }
430
496
  export function isPaint(event) {
431
- return event.name === "Paint" /* Name.PAINT */;
497
+ return event.name === Name.PAINT;
432
498
  }
433
499
  export function isPaintImage(event) {
434
- return event.name === "PaintImage" /* Name.PAINT_IMAGE */;
500
+ return event.name === Name.PAINT_IMAGE;
435
501
  }
436
502
  export function isScrollLayer(event) {
437
- return event.name === "ScrollLayer" /* Name.SCROLL_LAYER */;
503
+ return event.name === Name.SCROLL_LAYER;
438
504
  }
439
505
  export function isSetLayerId(event) {
440
- return event.name === "SetLayerTreeId" /* Name.SET_LAYER_TREE_ID */;
506
+ return event.name === Name.SET_LAYER_TREE_ID;
441
507
  }
442
508
  export function isUpdateLayer(event) {
443
- return event.name === "UpdateLayer" /* Name.UPDATE_LAYER */;
509
+ return event.name === Name.UPDATE_LAYER;
444
510
  }
445
511
  export function isDisplayListItemListSnapshot(event) {
446
- return event.name === "cc::DisplayItemList" /* Name.DISPLAY_ITEM_LIST_SNAPSHOT */;
512
+ return event.name === Name.DISPLAY_ITEM_LIST_SNAPSHOT;
447
513
  }
448
514
  export function isLayerTreeHostImplSnapshot(event) {
449
- return event.name === "cc::LayerTreeHostImpl" /* Name.LAYER_TREE_HOST_IMPL_SNAPSHOT */;
515
+ return event.name === Name.LAYER_TREE_HOST_IMPL_SNAPSHOT;
450
516
  }
451
517
  export function isFireAnimationFrame(event) {
452
- return event.name === "FireAnimationFrame" /* Name.FIRE_ANIMATION_FRAME */;
518
+ return event.name === Name.FIRE_ANIMATION_FRAME;
453
519
  }
454
520
  export function isRequestAnimationFrame(event) {
455
- return event.name === "RequestAnimationFrame" /* Name.REQUEST_ANIMATION_FRAME */;
521
+ return event.name === Name.REQUEST_ANIMATION_FRAME;
456
522
  }
457
523
  export function isTimerInstall(event) {
458
- return event.name === "TimerInstall" /* Name.TIMER_INSTALL */;
524
+ return event.name === Name.TIMER_INSTALL;
459
525
  }
460
526
  export function isTimerFire(event) {
461
- return event.name === "TimerFire" /* Name.TIMER_FIRE */;
527
+ return event.name === Name.TIMER_FIRE;
462
528
  }
463
529
  export function isRequestIdleCallback(event) {
464
- return event.name === "RequestIdleCallback" /* Name.REQUEST_IDLE_CALLBACK */;
530
+ return event.name === Name.REQUEST_IDLE_CALLBACK;
465
531
  }
466
532
  export function isWebSocketCreate(event) {
467
- return event.name === "WebSocketCreate" /* Name.WEB_SOCKET_CREATE */;
533
+ return event.name === Name.WEB_SOCKET_CREATE;
468
534
  }
469
535
  export function isWebSocketInfo(event) {
470
- return event.name === "WebSocketSendHandshakeRequest" /* Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST */ ||
471
- event.name === "WebSocketReceiveHandshakeResponse" /* Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST */ || event.name === "WebSocketDestroy" /* Name.WEB_SOCKET_DESTROY */;
536
+ return event.name === Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST ||
537
+ event.name === Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST || event.name === Name.WEB_SOCKET_DESTROY;
472
538
  }
473
539
  export function isWebSocketTransfer(event) {
474
- return event.name === "WebSocketSend" /* Name.WEB_SOCKET_SEND */ || event.name === "WebSocketReceive" /* Name.WEB_SOCKET_RECEIVE */;
540
+ return event.name === Name.WEB_SOCKET_SEND || event.name === Name.WEB_SOCKET_RECEIVE;
475
541
  }
476
542
  export function isWebSocketSend(event) {
477
- return event.name === "WebSocketSend" /* Name.WEB_SOCKET_SEND */;
543
+ return event.name === Name.WEB_SOCKET_SEND;
478
544
  }
479
545
  export function isWebSocketReceive(event) {
480
- return event.name === "WebSocketReceive" /* Name.WEB_SOCKET_RECEIVE */;
546
+ return event.name === Name.WEB_SOCKET_RECEIVE;
481
547
  }
482
548
  export function isWebSocketSendHandshakeRequest(event) {
483
- return event.name === "WebSocketSendHandshakeRequest" /* Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST */;
549
+ return event.name === Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST;
484
550
  }
485
551
  export function isWebSocketReceiveHandshakeResponse(event) {
486
- return event.name === "WebSocketReceiveHandshakeResponse" /* Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST */;
552
+ return event.name === Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST;
487
553
  }
488
554
  export function isWebSocketDestroy(event) {
489
- return event.name === "WebSocketDestroy" /* Name.WEB_SOCKET_DESTROY */;
555
+ return event.name === Name.WEB_SOCKET_DESTROY;
490
556
  }
491
557
  export function isWebSocketTraceEvent(event) {
492
558
  return isWebSocketCreate(event) || isWebSocketInfo(event) || isWebSocketTransfer(event);
@@ -495,19 +561,19 @@ export function isWebSocketEvent(event) {
495
561
  return isWebSocketTraceEvent(event) || isSyntheticWebSocketConnection(event);
496
562
  }
497
563
  export function isV8Compile(event) {
498
- return event.name === "v8.compile" /* Name.COMPILE */;
564
+ return event.name === Name.COMPILE;
499
565
  }
500
566
  export function isFunctionCall(event) {
501
- return event.name === "FunctionCall" /* Name.FUNCTION_CALL */;
567
+ return event.name === Name.FUNCTION_CALL;
502
568
  }
503
569
  export function isSchedulePostTaskCallback(event) {
504
- return event.name === "SchedulePostTaskCallback" /* Name.SCHEDULE_POST_TASK_CALLBACK */;
570
+ return event.name === Name.SCHEDULE_POST_TASK_CALLBACK;
505
571
  }
506
572
  export function isRunPostTaskCallback(event) {
507
- return event.name === "RunPostTaskCallback" /* Name.RUN_POST_TASK_CALLBACK */;
573
+ return event.name === Name.RUN_POST_TASK_CALLBACK;
508
574
  }
509
575
  export function isAbortPostTaskCallback(event) {
510
- return event.name === "AbortPostTaskCallback" /* Name.ABORT_POST_TASK_CALLBACK */;
576
+ return event.name === Name.ABORT_POST_TASK_CALLBACK;
511
577
  }
512
578
  /**
513
579
  * Generally, before JS is executed, a trace event is dispatched that
@@ -517,14 +583,14 @@ export function isAbortPostTaskCallback(event) {
517
583
  */
518
584
  export function isJSInvocationEvent(event) {
519
585
  switch (event.name) {
520
- case "RunMicrotasks" /* Name.RUN_MICROTASKS */:
521
- case "FunctionCall" /* Name.FUNCTION_CALL */:
586
+ case Name.RUN_MICROTASKS:
587
+ case Name.FUNCTION_CALL:
522
588
  // TODO(paulirish): Define types for these Evaluate* events
523
- case "EvaluateScript" /* Name.EVALUATE_SCRIPT */:
524
- case "v8.evaluateModule" /* Name.EVALUATE_MODULE */:
525
- case "EventDispatch" /* Name.EVENT_DISPATCH */:
526
- case "V8.Execute" /* Name.V8_EXECUTE */:
527
- case "V8Console::runTask" /* Name.V8_CONSOLE_RUN_TASK */:
589
+ case Name.EVALUATE_SCRIPT:
590
+ case Name.EVALUATE_MODULE:
591
+ case Name.EVENT_DISPATCH:
592
+ case Name.V8_EXECUTE:
593
+ case Name.V8_CONSOLE_RUN_TASK:
528
594
  return true;
529
595
  }
530
596
  // Also consider any new v8 trace events. (eg 'V8.RunMicrotasks' and 'v8.run')
@@ -537,14 +603,217 @@ export function isJSInvocationEvent(event) {
537
603
  return false;
538
604
  }
539
605
  export function isConsoleRunTask(event) {
540
- return event.name === "V8Console::runTask" /* Name.V8_CONSOLE_RUN_TASK */;
606
+ return event.name === Name.V8_CONSOLE_RUN_TASK;
541
607
  }
542
608
  export function isFlowPhaseEvent(event) {
543
- return event.ph === "s" /* Phase.FLOW_START */ || event.ph === "t" /* Phase.FLOW_STEP */ || event.ph === "f" /* Phase.FLOW_END */;
609
+ return event.ph === Phase.FLOW_START || event.ph === Phase.FLOW_STEP || event.ph === Phase.FLOW_END;
544
610
  }
545
611
  export function isParseAuthorStyleSheetEvent(event) {
546
- return event.name === "ParseAuthorStyleSheet" /* Name.PARSE_AUTHOR_STYLE_SHEET */;
612
+ return event.name === Name.PARSE_AUTHOR_STYLE_SHEET;
547
613
  }
614
+ /**
615
+ * This is an exhaustive list of events we track in the Performance
616
+ * panel. Note not all of them are necessarliry shown in the flame
617
+ * chart, some of them we only use for parsing.
618
+ * TODO(crbug.com/1428024): Complete this enum.
619
+ */
620
+ export var Name;
621
+ (function (Name) {
622
+ /* Metadata */
623
+ Name["THREAD_NAME"] = "thread_name";
624
+ /* Task */
625
+ Name["PROGRAM"] = "Program";
626
+ Name["RUN_TASK"] = "RunTask";
627
+ Name["ASYNC_TASK"] = "AsyncTask";
628
+ Name["RUN_MICROTASKS"] = "RunMicrotasks";
629
+ /* Load */
630
+ Name["XHR_LOAD"] = "XHRLoad";
631
+ Name["XHR_READY_STATE_CHANGED"] = "XHRReadyStateChange";
632
+ /* Parse */
633
+ Name["PARSE_HTML"] = "ParseHTML";
634
+ Name["PARSE_CSS"] = "ParseAuthorStyleSheet";
635
+ /* V8 */
636
+ Name["COMPILE_CODE"] = "V8.CompileCode";
637
+ Name["COMPILE_MODULE"] = "V8.CompileModule";
638
+ // Although V8 emits the V8.CompileScript event, the event that actually
639
+ // contains the useful information about the script (URL, etc), is contained
640
+ // in the v8.compile event.
641
+ // Yes, it is all lowercase compared to all the rest of the V8... events,
642
+ // that is not a typo :)
643
+ Name["COMPILE"] = "v8.compile";
644
+ Name["COMPILE_SCRIPT"] = "V8.CompileScript";
645
+ Name["OPTIMIZE"] = "V8.OptimizeCode";
646
+ Name["WASM_STREAM_FROM_RESPONSE_CALLBACK"] = "v8.wasm.streamFromResponseCallback";
647
+ Name["WASM_COMPILED_MODULE"] = "v8.wasm.compiledModule";
648
+ Name["WASM_CACHED_MODULE"] = "v8.wasm.cachedModule";
649
+ Name["WASM_MODULE_CACHE_HIT"] = "v8.wasm.moduleCacheHit";
650
+ Name["WASM_MODULE_CACHE_INVALID"] = "v8.wasm.moduleCacheInvalid";
651
+ /* Js */
652
+ Name["PROFILE_CALL"] = "ProfileCall";
653
+ Name["EVALUATE_SCRIPT"] = "EvaluateScript";
654
+ Name["FUNCTION_CALL"] = "FunctionCall";
655
+ Name["EVENT_DISPATCH"] = "EventDispatch";
656
+ Name["EVALUATE_MODULE"] = "v8.evaluateModule";
657
+ Name["REQUEST_MAIN_THREAD_FRAME"] = "RequestMainThreadFrame";
658
+ Name["REQUEST_ANIMATION_FRAME"] = "RequestAnimationFrame";
659
+ Name["CANCEL_ANIMATION_FRAME"] = "CancelAnimationFrame";
660
+ Name["FIRE_ANIMATION_FRAME"] = "FireAnimationFrame";
661
+ Name["REQUEST_IDLE_CALLBACK"] = "RequestIdleCallback";
662
+ Name["CANCEL_IDLE_CALLBACK"] = "CancelIdleCallback";
663
+ Name["FIRE_IDLE_CALLBACK"] = "FireIdleCallback";
664
+ Name["TIMER_INSTALL"] = "TimerInstall";
665
+ Name["TIMER_REMOVE"] = "TimerRemove";
666
+ Name["TIMER_FIRE"] = "TimerFire";
667
+ Name["WEB_SOCKET_CREATE"] = "WebSocketCreate";
668
+ Name["WEB_SOCKET_SEND_HANDSHAKE"] = "WebSocketSendHandshakeRequest";
669
+ Name["WEB_SOCKET_RECEIVE_HANDSHAKE"] = "WebSocketReceiveHandshakeResponse";
670
+ Name["WEB_SOCKET_DESTROY"] = "WebSocketDestroy";
671
+ Name["WEB_SOCKET_SEND"] = "WebSocketSend";
672
+ Name["WEB_SOCKET_RECEIVE"] = "WebSocketReceive";
673
+ Name["CRYPTO_DO_ENCRYPT"] = "DoEncrypt";
674
+ Name["CRYPTO_DO_ENCRYPT_REPLY"] = "DoEncryptReply";
675
+ Name["CRYPTO_DO_DECRYPT"] = "DoDecrypt";
676
+ Name["CRYPTO_DO_DECRYPT_REPLY"] = "DoDecryptReply";
677
+ Name["CRYPTO_DO_DIGEST"] = "DoDigest";
678
+ Name["CRYPTO_DO_DIGEST_REPLY"] = "DoDigestReply";
679
+ Name["CRYPTO_DO_SIGN"] = "DoSign";
680
+ Name["CRYPTO_DO_SIGN_REPLY"] = "DoSignReply";
681
+ Name["CRYPTO_DO_VERIFY"] = "DoVerify";
682
+ Name["CRYPTO_DO_VERIFY_REPLY"] = "DoVerifyReply";
683
+ Name["V8_EXECUTE"] = "V8.Execute";
684
+ Name["V8_CONSOLE_RUN_TASK"] = "V8Console::runTask";
685
+ Name["SCHEDULE_POST_TASK_CALLBACK"] = "SchedulePostTaskCallback";
686
+ Name["RUN_POST_TASK_CALLBACK"] = "RunPostTaskCallback";
687
+ Name["ABORT_POST_TASK_CALLBACK"] = "AbortPostTaskCallback";
688
+ Name["DEBUGGER_ASYNC_TASK_RUN"] = "v8::Debugger::AsyncTaskRun";
689
+ Name["DEBUGGER_ASYNC_TASK_SCHEDULED"] = "v8::Debugger::AsyncTaskScheduled";
690
+ /* Gc */
691
+ Name["GC"] = "GCEvent";
692
+ Name["DOMGC"] = "BlinkGC.AtomicPhase";
693
+ Name["MAJOR_GC"] = "MajorGC";
694
+ Name["MINOR_GC"] = "MinorGC";
695
+ Name["GC_COLLECT_GARBARGE"] = "BlinkGC.AtomicPhase";
696
+ Name["CPPGC_SWEEP"] = "CppGC.IncrementalSweep";
697
+ /* Layout */
698
+ Name["SCHEDULE_STYLE_RECALCULATION"] = "ScheduleStyleRecalculation";
699
+ Name["LAYOUT"] = "Layout";
700
+ Name["UPDATE_LAYOUT_TREE"] = "UpdateLayoutTree";
701
+ Name["INVALIDATE_LAYOUT"] = "InvalidateLayout";
702
+ Name["LAYOUT_INVALIDATION_TRACKING"] = "LayoutInvalidationTracking";
703
+ Name["COMPUTE_INTERSECTION"] = "ComputeIntersections";
704
+ Name["HIT_TEST"] = "HitTest";
705
+ Name["PRE_PAINT"] = "PrePaint";
706
+ Name["LAYERIZE"] = "Layerize";
707
+ Name["LAYOUT_SHIFT"] = "LayoutShift";
708
+ Name["SYNTHETIC_LAYOUT_SHIFT"] = "SyntheticLayoutShift";
709
+ Name["SYNTHETIC_LAYOUT_SHIFT_CLUSTER"] = "SyntheticLayoutShiftCluster";
710
+ Name["UPDATE_LAYER_TREE"] = "UpdateLayerTree";
711
+ Name["SCHEDULE_STYLE_INVALIDATION_TRACKING"] = "ScheduleStyleInvalidationTracking";
712
+ Name["STYLE_RECALC_INVALIDATION_TRACKING"] = "StyleRecalcInvalidationTracking";
713
+ Name["STYLE_INVALIDATOR_INVALIDATION_TRACKING"] = "StyleInvalidatorInvalidationTracking";
714
+ Name["SELECTOR_STATS"] = "SelectorStats";
715
+ Name["BEGIN_COMMIT_COMPOSITOR_FRAME"] = "BeginCommitCompositorFrame";
716
+ Name["PARSE_META_VIEWPORT"] = "ParseMetaViewport";
717
+ /* Paint */
718
+ Name["SCROLL_LAYER"] = "ScrollLayer";
719
+ Name["UPDATE_LAYER"] = "UpdateLayer";
720
+ Name["PAINT_SETUP"] = "PaintSetup";
721
+ Name["PAINT"] = "Paint";
722
+ Name["PAINT_IMAGE"] = "PaintImage";
723
+ Name["COMMIT"] = "Commit";
724
+ Name["COMPOSITE_LAYERS"] = "CompositeLayers";
725
+ Name["RASTER_TASK"] = "RasterTask";
726
+ Name["IMAGE_DECODE_TASK"] = "ImageDecodeTask";
727
+ Name["IMAGE_UPLOAD_TASK"] = "ImageUploadTask";
728
+ Name["DECODE_IMAGE"] = "Decode Image";
729
+ Name["DRAW_LAZY_PIXEL_REF"] = "Draw LazyPixelRef";
730
+ Name["DECODE_LAZY_PIXEL_REF"] = "Decode LazyPixelRef";
731
+ Name["GPU_TASK"] = "GPUTask";
732
+ Name["RASTERIZE"] = "Rasterize";
733
+ Name["EVENT_TIMING"] = "EventTiming";
734
+ /* Compile */
735
+ Name["OPTIMIZE_CODE"] = "V8.OptimizeCode";
736
+ Name["CACHE_SCRIPT"] = "v8.produceCache";
737
+ Name["CACHE_MODULE"] = "v8.produceModuleCache";
738
+ // V8Sample events are coming from tracing and contain raw stacks with function addresses.
739
+ // After being processed with help of JitCodeAdded and JitCodeMoved events they
740
+ // get translated into function infos and stored as stacks in JSSample events.
741
+ Name["V8_SAMPLE"] = "V8Sample";
742
+ Name["JIT_CODE_ADDED"] = "JitCodeAdded";
743
+ Name["JIT_CODE_MOVED"] = "JitCodeMoved";
744
+ Name["STREAMING_COMPILE_SCRIPT"] = "v8.parseOnBackground";
745
+ Name["STREAMING_COMPILE_SCRIPT_WAITING"] = "v8.parseOnBackgroundWaiting";
746
+ Name["STREAMING_COMPILE_SCRIPT_PARSING"] = "v8.parseOnBackgroundParsing";
747
+ Name["BACKGROUND_DESERIALIZE"] = "v8.deserializeOnBackground";
748
+ Name["FINALIZE_DESERIALIZATION"] = "V8.FinalizeDeserialization";
749
+ /* Markers */
750
+ Name["COMMIT_LOAD"] = "CommitLoad";
751
+ Name["MARK_LOAD"] = "MarkLoad";
752
+ Name["MARK_DOM_CONTENT"] = "MarkDOMContent";
753
+ Name["MARK_FIRST_PAINT"] = "firstPaint";
754
+ Name["MARK_FCP"] = "firstContentfulPaint";
755
+ Name["MARK_LCP_CANDIDATE"] = "largestContentfulPaint::Candidate";
756
+ Name["MARK_LCP_INVALIDATE"] = "largestContentfulPaint::Invalidate";
757
+ Name["NAVIGATION_START"] = "navigationStart";
758
+ Name["CONSOLE_TIME"] = "ConsoleTime";
759
+ Name["USER_TIMING"] = "UserTiming";
760
+ Name["INTERACTIVE_TIME"] = "InteractiveTime";
761
+ Name["TIME_STAMP"] = "TimeStamp";
762
+ /* Frames */
763
+ Name["BEGIN_FRAME"] = "BeginFrame";
764
+ Name["NEEDS_BEGIN_FRAME_CHANGED"] = "NeedsBeginFrameChanged";
765
+ Name["BEGIN_MAIN_THREAD_FRAME"] = "BeginMainThreadFrame";
766
+ Name["ACTIVATE_LAYER_TREE"] = "ActivateLayerTree";
767
+ Name["DRAW_FRAME"] = "DrawFrame";
768
+ Name["DROPPED_FRAME"] = "DroppedFrame";
769
+ Name["FRAME_STARTED_LOADING"] = "FrameStartedLoading";
770
+ Name["PIPELINE_REPORTER"] = "PipelineReporter";
771
+ Name["SCREENSHOT"] = "Screenshot";
772
+ /* Network request events */
773
+ Name["RESOURCE_WILL_SEND_REQUEST"] = "ResourceWillSendRequest";
774
+ Name["RESOURCE_SEND_REQUEST"] = "ResourceSendRequest";
775
+ Name["RESOURCE_RECEIVE_RESPONSE"] = "ResourceReceiveResponse";
776
+ Name["RESOURCE_RECEIVE_DATA"] = "ResourceReceivedData";
777
+ Name["RESOURCE_FINISH"] = "ResourceFinish";
778
+ Name["RESOURCE_MARK_AS_CACHED"] = "ResourceMarkAsCached";
779
+ /* Web sockets */
780
+ Name["WEB_SOCKET_SEND_HANDSHAKE_REQUEST"] = "WebSocketSendHandshakeRequest";
781
+ Name["WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST"] = "WebSocketReceiveHandshakeResponse";
782
+ /* CPU Profiling */
783
+ Name["CPU_PROFILE"] = "CpuProfile";
784
+ Name["PROFILE"] = "Profile";
785
+ Name["START_PROFILING"] = "CpuProfiler::StartProfiling";
786
+ Name["PROFILE_CHUNK"] = "ProfileChunk";
787
+ Name["UPDATE_COUNTERS"] = "UpdateCounters";
788
+ Name["JS_SAMPLE"] = "JSSample";
789
+ /* Other */
790
+ Name["ANIMATION"] = "Animation";
791
+ Name["PARSE_AUTHOR_STYLE_SHEET"] = "ParseAuthorStyleSheet";
792
+ Name["EMBEDDER_CALLBACK"] = "EmbedderCallback";
793
+ Name["SET_LAYER_TREE_ID"] = "SetLayerTreeId";
794
+ Name["TRACING_STARTED_IN_PAGE"] = "TracingStartedInPage";
795
+ Name["TRACING_STARTED_IN_BROWSER"] = "TracingStartedInBrowser";
796
+ Name["TRACING_SESSION_ID_FOR_WORKER"] = "TracingSessionIdForWorker";
797
+ Name["LAZY_PIXEL_REF"] = "LazyPixelRef";
798
+ Name["LAYER_TREE_HOST_IMPL_SNAPSHOT"] = "cc::LayerTreeHostImpl";
799
+ Name["PICTURE_SNAPSHOT"] = "cc::Picture";
800
+ Name["DISPLAY_ITEM_LIST_SNAPSHOT"] = "cc::DisplayItemList";
801
+ Name["INPUT_LATENCY_MOUSE_MOVE"] = "InputLatency::MouseMove";
802
+ Name["INPUT_LATENCY_MOUSE_WHEEL"] = "InputLatency::MouseWheel";
803
+ Name["IMPL_SIDE_FLING"] = "InputHandlerProxy::HandleGestureFling::started";
804
+ Name["SCHEDULE_POST_MESSAGE"] = "SchedulePostMessage";
805
+ Name["HANDLE_POST_MESSAGE"] = "HandlePostMessage";
806
+ Name["RENDER_FRAME_IMPL_CREATE_CHILD_FRAME"] = "RenderFrameImpl::createChildFrame";
807
+ Name["LAYOUT_IMAGE_UNSIZED"] = "LayoutImageUnsized";
808
+ Name["DOM_LOADING"] = "domLoading";
809
+ Name["BEGIN_REMOTE_FONT_LOAD"] = "BeginRemoteFontLoad";
810
+ Name["REMOTE_FONT_LOADED"] = "RemoteFontLoaded";
811
+ Name["ANIMATION_FRAME"] = "AnimationFrame";
812
+ Name["ANIMATION_FRAME_PRESENTATION"] = "AnimationFrame::Presentation";
813
+ Name["SYNTHETIC_NETWORK_REQUEST"] = "SyntheticNetworkRequest";
814
+ Name["USER_TIMING_MEASURE"] = "UserTiming::Measure";
815
+ Name["LINK_PRECONNECT"] = "LinkPreconnect";
816
+ })(Name || (Name = {}));
548
817
  // NOT AN EXHAUSTIVE LIST: just some categories we use and refer
549
818
  // to in multiple places.
550
819
  export const Categories = {