@paulirish/trace_engine 0.0.61 → 0.0.62

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 (260) hide show
  1. package/.tmp/tsbuildinfo/analyze-trace.d.mts.map +1 -1
  2. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  3. package/analyze-inspector-issues.mjs +1 -1
  4. package/analyze-trace.mjs +1 -2
  5. package/core/platform/ArrayUtilities.d.ts +2 -0
  6. package/core/platform/ArrayUtilities.js +11 -1
  7. package/core/platform/ArrayUtilities.js.map +1 -1
  8. package/core/platform/HostRuntime.d.ts +4 -0
  9. package/core/platform/HostRuntime.js +25 -0
  10. package/core/platform/HostRuntime.js.map +1 -0
  11. package/core/platform/KeyboardUtilities.d.ts +6 -2
  12. package/core/platform/KeyboardUtilities.js.map +1 -1
  13. package/core/platform/StringUtilities.d.ts +2 -0
  14. package/core/platform/StringUtilities.js +64 -13
  15. package/core/platform/StringUtilities.js.map +1 -1
  16. package/core/platform/api/HostRuntime.d.ts +36 -0
  17. package/core/platform/api/HostRuntime.js +5 -0
  18. package/core/platform/api/HostRuntime.js.map +1 -0
  19. package/core/platform/api/api-tsconfig.json +43 -0
  20. package/core/platform/api/api.d.ts +2 -0
  21. package/core/platform/api/api.js +6 -0
  22. package/core/platform/api/api.js.map +1 -0
  23. package/core/platform/api/api_node_typecheck-tsconfig.json +48 -0
  24. package/core/platform/api/bundle-tsconfig.json +1 -0
  25. package/core/platform/api/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  26. package/core/platform/browser/HostRuntime.d.ts +2 -0
  27. package/core/platform/browser/HostRuntime.js +64 -0
  28. package/core/platform/browser/HostRuntime.js.map +1 -0
  29. package/core/platform/browser/browser-tsconfig.json +48 -0
  30. package/core/platform/browser/browser.d.ts +2 -0
  31. package/core/platform/browser/browser.js +6 -0
  32. package/core/platform/browser/browser.js.map +1 -0
  33. package/core/platform/browser/bundle-tsconfig.json +1 -0
  34. package/core/platform/browser/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  35. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  36. package/core/platform/node/HostRuntime.d.ts +2 -0
  37. package/core/platform/node/HostRuntime.js +73 -0
  38. package/core/platform/node/HostRuntime.js.map +1 -0
  39. package/core/platform/node/bundle-tsconfig.json +1 -0
  40. package/core/platform/node/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  41. package/core/platform/node/node-tsconfig.json +52 -0
  42. package/core/platform/node/node.d.ts +2 -0
  43. package/core/platform/node/node.js +6 -0
  44. package/core/platform/node/node.js.map +1 -0
  45. package/core/platform/platform-tsconfig.json +17 -5
  46. package/core/platform/platform.d.ts +2 -2
  47. package/core/platform/platform.js +2 -2
  48. package/core/platform/platform.js.map +1 -1
  49. package/core/platform/platform_node_typecheck-tsconfig.json +74 -0
  50. package/generated/protocol.d.ts +1507 -583
  51. package/locales/af.json +74 -38
  52. package/locales/am.json +73 -37
  53. package/locales/ar.json +72 -36
  54. package/locales/as.json +74 -38
  55. package/locales/az.json +73 -37
  56. package/locales/be.json +72 -36
  57. package/locales/bg.json +72 -36
  58. package/locales/bn.json +74 -38
  59. package/locales/bs.json +72 -36
  60. package/locales/ca.json +72 -36
  61. package/locales/cs.json +72 -36
  62. package/locales/cy.json +73 -37
  63. package/locales/da.json +74 -38
  64. package/locales/de.json +72 -36
  65. package/locales/el.json +73 -37
  66. package/locales/en-GB.json +74 -38
  67. package/locales/en-US.json +86 -17
  68. package/locales/en-XL.json +86 -17
  69. package/locales/es-419.json +72 -36
  70. package/locales/es.json +73 -37
  71. package/locales/et.json +74 -38
  72. package/locales/eu.json +72 -36
  73. package/locales/fa.json +73 -37
  74. package/locales/fi.json +72 -36
  75. package/locales/fil.json +74 -38
  76. package/locales/fr-CA.json +72 -36
  77. package/locales/fr.json +162 -126
  78. package/locales/gl.json +73 -37
  79. package/locales/gu.json +73 -37
  80. package/locales/he.json +74 -38
  81. package/locales/hi.json +73 -37
  82. package/locales/hr.json +72 -36
  83. package/locales/hu.json +73 -37
  84. package/locales/hy.json +73 -37
  85. package/locales/id.json +74 -38
  86. package/locales/is.json +73 -37
  87. package/locales/it.json +72 -36
  88. package/locales/ja.json +72 -36
  89. package/locales/ka.json +73 -37
  90. package/locales/kk.json +72 -36
  91. package/locales/km.json +73 -37
  92. package/locales/kn.json +72 -36
  93. package/locales/ko.json +72 -36
  94. package/locales/ky.json +72 -36
  95. package/locales/lo.json +72 -36
  96. package/locales/lt.json +72 -36
  97. package/locales/lv.json +72 -36
  98. package/locales/mk.json +75 -39
  99. package/locales/ml.json +72 -36
  100. package/locales/mn.json +73 -37
  101. package/locales/mr.json +74 -38
  102. package/locales/ms.json +72 -36
  103. package/locales/my.json +72 -36
  104. package/locales/ne.json +73 -37
  105. package/locales/nl.json +73 -37
  106. package/locales/no.json +72 -36
  107. package/locales/or.json +72 -36
  108. package/locales/pa.json +72 -36
  109. package/locales/pl.json +72 -36
  110. package/locales/pt-PT.json +72 -36
  111. package/locales/pt.json +74 -38
  112. package/locales/ro.json +72 -36
  113. package/locales/ru.json +72 -36
  114. package/locales/si.json +72 -36
  115. package/locales/sk.json +72 -36
  116. package/locales/sl.json +72 -36
  117. package/locales/sq.json +72 -36
  118. package/locales/sr-Latn.json +73 -37
  119. package/locales/sr.json +73 -37
  120. package/locales/sv.json +75 -39
  121. package/locales/sw.json +74 -38
  122. package/locales/ta.json +73 -37
  123. package/locales/te.json +72 -36
  124. package/locales/th.json +73 -37
  125. package/locales/tr.json +72 -36
  126. package/locales/uk.json +72 -36
  127. package/locales/ur.json +72 -36
  128. package/locales/uz.json +73 -37
  129. package/locales/vi.json +74 -38
  130. package/locales/zh-HK.json +72 -36
  131. package/locales/zh-TW.json +74 -38
  132. package/locales/zh.json +75 -39
  133. package/locales/zu.json +73 -37
  134. package/models/cpu_profile/CPUProfileDataModel.d.ts +9 -0
  135. package/models/cpu_profile/CPUProfileDataModel.js +9 -7
  136. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
  137. package/models/cpu_profile/ProfileTreeModel.d.ts +3 -2
  138. package/models/cpu_profile/ProfileTreeModel.js +6 -7
  139. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  140. package/models/cpu_profile/cpu_profile-tsconfig.json +4 -3
  141. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  142. package/models/trace/EntityMapper.d.ts +1 -0
  143. package/models/trace/EntityMapper.js +10 -0
  144. package/models/trace/EntityMapper.js.map +1 -1
  145. package/models/trace/EventsSerializer.js +10 -2
  146. package/models/trace/EventsSerializer.js.map +1 -1
  147. package/models/trace/LanternComputationData.d.ts +1 -1
  148. package/models/trace/LanternComputationData.js +3 -8
  149. package/models/trace/LanternComputationData.js.map +1 -1
  150. package/models/trace/ModelImpl.d.ts +1 -0
  151. package/models/trace/ModelImpl.js +9 -6
  152. package/models/trace/ModelImpl.js.map +1 -1
  153. package/models/trace/Processor.js +23 -23
  154. package/models/trace/Processor.js.map +1 -1
  155. package/models/trace/Styles.js +13 -5
  156. package/models/trace/Styles.js.map +1 -1
  157. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  158. package/models/trace/extras/Initiators.d.ts +12 -0
  159. package/models/trace/extras/Initiators.js +47 -0
  160. package/models/trace/extras/Initiators.js.map +1 -0
  161. package/models/trace/extras/TraceTree.js +13 -5
  162. package/models/trace/extras/TraceTree.js.map +1 -1
  163. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  164. package/models/trace/extras/extras-tsconfig.json +11 -3
  165. package/models/trace/extras/extras.d.ts +0 -1
  166. package/models/trace/extras/extras.js +0 -1
  167. package/models/trace/extras/extras.js.map +1 -1
  168. package/models/trace/handlers/LargestImagePaintHandler.js +2 -2
  169. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
  170. package/models/trace/handlers/LayoutShiftsHandler.js +1 -1
  171. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  172. package/models/trace/handlers/MetaHandler.d.ts +12 -1
  173. package/models/trace/handlers/MetaHandler.js +10 -1
  174. package/models/trace/handlers/MetaHandler.js.map +1 -1
  175. package/models/trace/handlers/NetworkRequestsHandler.d.ts +8 -1
  176. package/models/trace/handlers/NetworkRequestsHandler.js +22 -4
  177. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  178. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +13 -3
  179. package/models/trace/handlers/PageLoadMetricsHandler.js +71 -27
  180. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  181. package/models/trace/handlers/SamplesHandler.js +59 -6
  182. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  183. package/models/trace/handlers/ScriptsHandler.js +24 -0
  184. package/models/trace/handlers/ScriptsHandler.js.map +1 -1
  185. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  186. package/models/trace/handlers/handlers-tsconfig.json +13 -3
  187. package/models/trace/helpers/Network.js +1 -1
  188. package/models/trace/helpers/Network.js.map +1 -1
  189. package/models/trace/helpers/SamplesIntegrator.js +1 -8
  190. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  191. package/models/trace/helpers/Timing.d.ts +1 -1
  192. package/models/trace/helpers/Timing.js +9 -2
  193. package/models/trace/helpers/Timing.js.map +1 -1
  194. package/models/trace/helpers/Trace.d.ts +1 -0
  195. package/models/trace/helpers/Trace.js +12 -5
  196. package/models/trace/helpers/Trace.js.map +1 -1
  197. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  198. package/models/trace/helpers/helpers-tsconfig.json +7 -3
  199. package/models/trace/insights/CharacterSet.d.ts +49 -0
  200. package/models/trace/insights/CharacterSet.js +132 -0
  201. package/models/trace/insights/CharacterSet.js.map +1 -0
  202. package/models/trace/insights/Common.d.ts +2 -2
  203. package/models/trace/insights/Common.js +1 -6
  204. package/models/trace/insights/Common.js.map +1 -1
  205. package/models/trace/insights/ForcedReflow.d.ts +1 -1
  206. package/models/trace/insights/ForcedReflow.js +1 -1
  207. package/models/trace/insights/ForcedReflow.js.map +1 -1
  208. package/models/trace/insights/LCPBreakdown.d.ts +1 -1
  209. package/models/trace/insights/LCPBreakdown.js +2 -2
  210. package/models/trace/insights/LCPBreakdown.js.map +1 -1
  211. package/models/trace/insights/LCPDiscovery.d.ts +7 -3
  212. package/models/trace/insights/LCPDiscovery.js +16 -10
  213. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  214. package/models/trace/insights/Models.d.ts +1 -0
  215. package/models/trace/insights/Models.js +1 -0
  216. package/models/trace/insights/Models.js.map +1 -1
  217. package/models/trace/insights/NetworkDependencyTree.js +4 -3
  218. package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
  219. package/models/trace/insights/RenderBlocking.d.ts +2 -2
  220. package/models/trace/insights/RenderBlocking.js +6 -6
  221. package/models/trace/insights/RenderBlocking.js.map +1 -1
  222. package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  223. package/models/trace/insights/insights-tsconfig.json +26 -3
  224. package/models/trace/insights/types.d.ts +15 -5
  225. package/models/trace/insights/types.js +1 -0
  226. package/models/trace/insights/types.js.map +1 -1
  227. package/models/trace/lantern/core/core-tsconfig.json +4 -3
  228. package/models/trace/lantern/core/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  229. package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  230. package/models/trace/lantern/graph/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  231. package/models/trace/lantern/graph/graph-tsconfig.json +4 -3
  232. package/models/trace/lantern/lantern-tsconfig.json +4 -3
  233. package/models/trace/lantern/metrics/FirstContentfulPaint.js +6 -6
  234. package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -1
  235. package/models/trace/lantern/metrics/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  236. package/models/trace/lantern/metrics/metrics-tsconfig.json +4 -3
  237. package/models/trace/lantern/simulation/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  238. package/models/trace/lantern/simulation/simulation-tsconfig.json +4 -3
  239. package/models/trace/lantern/types/Lantern.d.ts +7 -7
  240. package/models/trace/lantern/types/Lantern.js.map +1 -1
  241. package/models/trace/lantern/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  242. package/models/trace/lantern/types/types-tsconfig.json +4 -3
  243. package/models/trace/trace-tsconfig.json +7 -3
  244. package/models/trace/types/Configuration.d.ts +1 -4
  245. package/models/trace/types/Configuration.js +0 -1
  246. package/models/trace/types/Configuration.js.map +1 -1
  247. package/models/trace/types/File.d.ts +8 -0
  248. package/models/trace/types/File.js.map +1 -1
  249. package/models/trace/types/TraceEvents.d.ts +97 -15
  250. package/models/trace/types/TraceEvents.js +44 -11
  251. package/models/trace/types/TraceEvents.js.map +1 -1
  252. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  253. package/models/trace/types/types-tsconfig.json +10 -3
  254. package/package.json +1 -1
  255. package/test/test-trace-engine.mjs +8 -9
  256. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts +0 -4
  257. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts.map +0 -1
  258. package/core/platform/DOMUtilities.d.ts +0 -16
  259. package/core/platform/DOMUtilities.js +0 -123
  260. package/core/platform/DOMUtilities.js.map +0 -1
@@ -49,6 +49,7 @@ export interface Event {
49
49
  tdur?: Micro;
50
50
  dur?: Micro;
51
51
  }
52
+ export declare function objectIsEvent(obj: object): obj is Event;
52
53
  export interface Args {
53
54
  data?: ArgsData;
54
55
  sampleTraceId?: number;
@@ -59,6 +60,8 @@ export interface ArgsData {
59
60
  sampleTraceId?: number;
60
61
  url?: string;
61
62
  navigationId?: string;
63
+ /** For soft navs. */
64
+ performanceTimelineNavigationId?: number;
62
65
  frame?: string;
63
66
  }
64
67
  export interface CallFrame {
@@ -104,6 +107,7 @@ export interface Profile extends Sample {
104
107
  args: Args & {
105
108
  data: ArgsData & {
106
109
  startTime: Micro;
110
+ source?: ProfileSource;
107
111
  };
108
112
  };
109
113
  }
@@ -114,7 +118,9 @@ export interface ProfileChunk extends Sample {
114
118
  data?: ArgsData & {
115
119
  cpuProfile?: PartialProfile;
116
120
  timeDeltas?: Micro[];
117
- lines?: Micro[];
121
+ lines?: number[];
122
+ source?: ProfileSource;
123
+ columns?: number[];
118
124
  };
119
125
  };
120
126
  }
@@ -128,6 +134,18 @@ export interface PartialProfile {
128
134
  */
129
135
  trace_ids?: Record<string, number>;
130
136
  }
137
+ /**
138
+ * Source of profile data, used to select the most relevant profile when
139
+ * multiple profiles exist for the same thread.
140
+ *
141
+ * - 'Inspector': User-initiated via console.profile()/profileEnd().
142
+ * - 'Internal': Browser-initiated during performance traces.
143
+ * - 'SelfProfiling': Page-initiated via JS Self-Profiling API.
144
+ *
145
+ * Selection priority (see PROFILE_SOURCES_BY_PRIORITY in SamplesHandler.ts).
146
+ */
147
+ export type ProfileSource = 'Inspector' | 'SelfProfiling' | 'Internal';
148
+ export declare const VALID_PROFILE_SOURCES: readonly ProfileSource[];
131
149
  export interface PartialNode {
132
150
  callFrame: CallFrame;
133
151
  id: CallFrameID;
@@ -511,7 +529,7 @@ export interface Mark extends Event {
511
529
  ph: Phase.MARK;
512
530
  }
513
531
  export interface NavigationStart extends Mark {
514
- name: 'navigationStart';
532
+ name: Name.NAVIGATION_START;
515
533
  args: Args & {
516
534
  frame: string;
517
535
  data?: ArgsData & {
@@ -536,6 +554,24 @@ export interface NavigationStart extends Mark {
536
554
  };
537
555
  };
538
556
  }
557
+ export interface SoftNavigationStart extends Event {
558
+ name: Name.SOFT_NAVIGATION_START;
559
+ ph: Phase.ASYNC_NESTABLE_INSTANT;
560
+ args: Args & {
561
+ frame: string;
562
+ context: {
563
+ softNavContextId: number;
564
+ URL: string;
565
+ timeOrigin: number;
566
+ domModifications: number;
567
+ firstContentfulPaint: number;
568
+ paintedArea: number;
569
+ performanceTimelineNavigationId: number;
570
+ repaintedArea: number;
571
+ };
572
+ };
573
+ }
574
+ export declare function isSoftNavigationStart(event: Event): event is SoftNavigationStart;
539
575
  export interface FirstContentfulPaint extends Mark {
540
576
  name: Name.MARK_FCP;
541
577
  args: Args & {
@@ -546,7 +582,7 @@ export interface FirstContentfulPaint extends Mark {
546
582
  };
547
583
  }
548
584
  export interface FirstPaint extends Mark {
549
- name: 'firstPaint';
585
+ name: Name.MARK_FIRST_PAINT;
550
586
  args: Args & {
551
587
  frame: string;
552
588
  data?: ArgsData & {
@@ -554,11 +590,7 @@ export interface FirstPaint extends Mark {
554
590
  };
555
591
  };
556
592
  }
557
- export type PageLoadEvent = FirstContentfulPaint | MarkDOMContent | InteractiveTime | LargestContentfulPaintCandidate | LayoutShift | FirstPaint | MarkLoad | NavigationStart;
558
- export declare const MarkerName: readonly ["MarkDOMContent", "MarkLoad", "firstPaint", "firstContentfulPaint", "largestContentfulPaint::Candidate"];
559
- export interface MarkerEvent extends Event {
560
- name: typeof MarkerName[number];
561
- }
593
+ export type PageLoadEvent = FirstContentfulPaint | MarkDOMContent | InteractiveTime | AnyLargestContentfulPaintCandidate | LayoutShift | FirstPaint | MarkLoad | NavigationStart | SoftNavigationStart;
562
594
  export declare function isMarkerEvent(event: Event): event is MarkerEvent;
563
595
  export declare function eventIsPageLoadEvent(event: Event): event is PageLoadEvent;
564
596
  export interface LargestContentfulPaintCandidate extends Mark {
@@ -577,6 +609,23 @@ export interface LargestContentfulPaintCandidate extends Mark {
577
609
  };
578
610
  };
579
611
  }
612
+ export interface LargestContentfulPaintCandidateForSoftNavigation extends Mark {
613
+ name: Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION;
614
+ args: Args & {
615
+ frame: string;
616
+ data?: ArgsData & {
617
+ candidateIndex: number;
618
+ isOutermostMainFrame: boolean;
619
+ isMainFrame: boolean;
620
+ nodeId: Protocol.DOM.BackendNodeId;
621
+ loadingAttr: string;
622
+ performanceTimelineNavigationId: number;
623
+ type?: string;
624
+ nodeName?: string;
625
+ };
626
+ };
627
+ }
628
+ export type AnyLargestContentfulPaintCandidate = LargestContentfulPaintCandidate | LargestContentfulPaintCandidateForSoftNavigation;
580
629
  export interface LargestImagePaintCandidate extends Mark {
581
630
  name: 'LargestImagePaint::Candidate';
582
631
  args: Args & {
@@ -697,7 +746,7 @@ export interface CommitLoad extends Instant {
697
746
  };
698
747
  }
699
748
  export interface MarkDOMContent extends Instant {
700
- name: 'MarkDOMContent';
749
+ name: Name.MARK_DOM_CONTENT;
701
750
  args: Args & {
702
751
  data?: ArgsData & {
703
752
  frame: string;
@@ -708,7 +757,7 @@ export interface MarkDOMContent extends Instant {
708
757
  };
709
758
  }
710
759
  export interface MarkLoad extends Instant {
711
- name: 'MarkLoad';
760
+ name: Name.MARK_LOAD;
712
761
  args: Args & {
713
762
  data?: ArgsData & {
714
763
  frame: string;
@@ -728,7 +777,7 @@ export interface TraceImpactedNode {
728
777
  old_rect: TraceRect;
729
778
  debug_name?: string;
730
779
  }
731
- type LayoutShiftData = ArgsData & {
780
+ export type LayoutShiftData = ArgsData & {
732
781
  cumulative_score: number;
733
782
  frame_max_distance: number;
734
783
  had_recent_input: boolean;
@@ -781,7 +830,7 @@ export declare const NO_NAVIGATION = "NO_NAVIGATION";
781
830
  * portion of the trace for which we don't have any navigation event for (as it happeneded prior
782
831
  * to the trace start).
783
832
  */
784
- export type NavigationId = string | typeof NO_NAVIGATION;
833
+ export type NavigationId = string;
785
834
  /**
786
835
  * This is a synthetic Layout shift cluster. The rawSourceEvent is the worst layout shift event
787
836
  * in the cluster.
@@ -1031,6 +1080,17 @@ export interface ParseMetaViewport extends Instant {
1031
1080
  };
1032
1081
  }
1033
1082
  export declare function isParseMetaViewport(event: Event): event is ParseMetaViewport;
1083
+ export type MetaCharsetDisposition = 'found-in-first-1024-bytes' | 'found-after-first-1024-bytes' | 'not-found';
1084
+ export interface MetaCharsetCheck extends Instant {
1085
+ name: Name.META_CHARSET_CHECK;
1086
+ args: Args & {
1087
+ data: {
1088
+ frame: string;
1089
+ disposition: MetaCharsetDisposition;
1090
+ };
1091
+ };
1092
+ }
1093
+ export declare function isMetaCharsetCheck(event: Event): event is MetaCharsetCheck;
1034
1094
  export interface LinkPreconnect extends Instant {
1035
1095
  name: Name.LINK_PRECONNECT;
1036
1096
  args: Args & {
@@ -1414,6 +1474,7 @@ export interface SyntheticJSSample extends Event {
1414
1474
  };
1415
1475
  ph: Phase.INSTANT;
1416
1476
  }
1477
+ export declare function isJSSample(event: Event): event is SyntheticJSSample;
1417
1478
  export declare function isSyntheticInteraction(event: Event): event is SyntheticInteractionPair;
1418
1479
  export interface DrawFrame extends Instant {
1419
1480
  name: Name.DRAW_FRAME;
@@ -1649,7 +1710,8 @@ export declare function isSyntheticAnimation(event: Event): event is SyntheticAn
1649
1710
  export declare function isLayoutShift(event: Event): event is LayoutShift;
1650
1711
  export declare function isLayoutInvalidationTracking(event: Event): event is LayoutInvalidationTracking;
1651
1712
  export declare function isFirstContentfulPaint(event: Event): event is FirstContentfulPaint;
1652
- export declare function isLargestContentfulPaintCandidate(event: Event): event is LargestContentfulPaintCandidate;
1713
+ export declare function isAnyLargestContentfulPaintCandidate(event: Event): event is AnyLargestContentfulPaintCandidate;
1714
+ export declare function isSoftLargestContentfulPaintCandidate(event: Event): event is AnyLargestContentfulPaintCandidate;
1653
1715
  export declare function isLargestImagePaintCandidate(event: Event): event is LargestImagePaintCandidate;
1654
1716
  export declare function isLargestTextPaintCandidate(event: Event): event is LargestTextPaintCandidate;
1655
1717
  export declare function isMarkLoad(event: Event): event is MarkLoad;
@@ -2014,7 +2076,7 @@ export interface FunctionCall extends Complete {
2014
2076
  args: Args & {
2015
2077
  data?: Partial<CallFrame> & {
2016
2078
  frame?: string;
2017
- isolate?: number;
2079
+ isolate?: string;
2018
2080
  };
2019
2081
  };
2020
2082
  }
@@ -2175,6 +2237,7 @@ export declare enum Name {
2175
2237
  SELECTOR_STATS = "SelectorStats",
2176
2238
  BEGIN_COMMIT_COMPOSITOR_FRAME = "BeginCommitCompositorFrame",
2177
2239
  PARSE_META_VIEWPORT = "ParseMetaViewport",
2240
+ META_CHARSET_CHECK = "MetaCharsetCheck",
2178
2241
  SCROLL_LAYER = "ScrollLayer",
2179
2242
  UPDATE_LAYER = "UpdateLayer",
2180
2243
  PAINT_SETUP = "PaintSetup",
@@ -2208,8 +2271,10 @@ export declare enum Name {
2208
2271
  MARK_FIRST_PAINT = "firstPaint",
2209
2272
  MARK_FCP = "firstContentfulPaint",
2210
2273
  MARK_LCP_CANDIDATE = "largestContentfulPaint::Candidate",
2274
+ MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION = "largestContentfulPaint::CandidateForSoftNavigation",
2211
2275
  MARK_LCP_INVALIDATE = "largestContentfulPaint::Invalidate",
2212
2276
  NAVIGATION_START = "navigationStart",
2277
+ SOFT_NAVIGATION_START = "SoftNavigationStart",
2213
2278
  CONSOLE_TIME = "ConsoleTime",
2214
2279
  USER_TIMING = "UserTiming",
2215
2280
  INTERACTIVE_TIME = "InteractiveTime",
@@ -2262,7 +2327,12 @@ export declare enum Name {
2262
2327
  ANIMATION_FRAME_PRESENTATION = "AnimationFrame::Presentation",
2263
2328
  SYNTHETIC_NETWORK_REQUEST = "SyntheticNetworkRequest",
2264
2329
  USER_TIMING_MEASURE = "UserTiming::Measure",
2265
- LINK_PRECONNECT = "LinkPreconnect"
2330
+ LINK_PRECONNECT = "LinkPreconnect",
2331
+ PRELOAD_RENDER_BLOCKING_STATUS_CHANGE = "PreloadRenderBlockingStatusChange"
2332
+ }
2333
+ export declare const MarkerName: readonly [Name.MARK_DOM_CONTENT, Name.MARK_LOAD, Name.MARK_FIRST_PAINT, Name.MARK_FCP, Name.MARK_LCP_CANDIDATE, Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION, Name.NAVIGATION_START, Name.SOFT_NAVIGATION_START];
2334
+ export interface MarkerEvent extends Event {
2335
+ name: typeof MarkerName[number];
2266
2336
  }
2267
2337
  /**
2268
2338
  * NOT AN EXHAUSTIVE LIST: just some categories we use and refer
@@ -2367,4 +2437,16 @@ export interface RundownScriptStub extends Event {
2367
2437
  };
2368
2438
  }
2369
2439
  export declare function isAnyScriptSourceEvent(event: Event): event is RundownScriptSource | RundownScriptSourceLarge | RundownScriptStub;
2440
+ export interface PreloadRenderBlockingStatusChangeEvent extends Instant {
2441
+ name: Name.PRELOAD_RENDER_BLOCKING_STATUS_CHANGE;
2442
+ cat: 'devtools.timeline';
2443
+ args: Args & {
2444
+ data: {
2445
+ requestId: string;
2446
+ url: string;
2447
+ renderBlocking?: RenderBlocking;
2448
+ };
2449
+ };
2450
+ }
2451
+ export declare function isPreloadRenderBlockingStatusChangeEvent(event: Event): event is PreloadRenderBlockingStatusChangeEvent;
2370
2452
  export {};
@@ -55,6 +55,9 @@ export var Scope;
55
55
  Scope["PROCESS"] = "p";
56
56
  Scope["GLOBAL"] = "g";
57
57
  })(Scope || (Scope = {}));
58
+ export function objectIsEvent(obj) {
59
+ return 'cat' in obj && 'name' in obj && 'ts' in obj;
60
+ }
58
61
  export function objectIsCallFrame(object) {
59
62
  return ('functionName' in object && typeof object.functionName === 'string') &&
60
63
  ('scriptId' in object && (typeof object.scriptId === 'string' || typeof object.scriptId === 'number')) &&
@@ -62,6 +65,7 @@ export function objectIsCallFrame(object) {
62
65
  ('lineNumber' in object && typeof object.lineNumber === 'number') &&
63
66
  ('url' in object && typeof object.url === 'string');
64
67
  }
68
+ export const VALID_PROFILE_SOURCES = ['Inspector', 'SelfProfiling', 'Internal'];
65
69
  export function isRunTask(event) {
66
70
  return event.name === Name.RUN_TASK && event.ph === Phase.COMPLETE;
67
71
  }
@@ -88,17 +92,20 @@ export function isLegacySyntheticScreenshot(event) {
88
92
  export function isScreenshot(event) {
89
93
  return event.name === Name.SCREENSHOT && 'source_id' in (event.args ?? {});
90
94
  }
95
+ export function isSoftNavigationStart(event) {
96
+ return event.name === Name.SOFT_NAVIGATION_START;
97
+ }
91
98
  const markerTypeGuards = [
92
99
  isMarkDOMContent,
93
100
  isMarkLoad,
94
101
  isFirstPaint,
95
102
  isFirstContentfulPaint,
96
- isLargestContentfulPaintCandidate,
103
+ isAnyLargestContentfulPaintCandidate,
97
104
  isNavigationStart,
105
+ isSoftNavigationStart,
98
106
  ];
99
- export const MarkerName = ['MarkDOMContent', 'MarkLoad', 'firstPaint', 'firstContentfulPaint', 'largestContentfulPaint::Candidate'];
100
107
  export function isMarkerEvent(event) {
101
- if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
108
+ if (event.ph === Phase.INSTANT || Phase.ASYNC_NESTABLE_INSTANT || event.ph === Phase.MARK) {
102
109
  return markerTypeGuards.some(fn => fn(event));
103
110
  }
104
111
  return false;
@@ -108,7 +115,7 @@ const pageLoadEventTypeGuards = [
108
115
  isInteractiveTime,
109
116
  ];
110
117
  export function eventIsPageLoadEvent(event) {
111
- if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
118
+ if (event.ph === Phase.INSTANT || Phase.ASYNC_NESTABLE_INSTANT || event.ph === Phase.MARK) {
112
119
  return pageLoadEventTypeGuards.some(fn => fn(event));
113
120
  }
114
121
  return false;
@@ -148,6 +155,9 @@ export function isBeginCommitCompositorFrame(event) {
148
155
  export function isParseMetaViewport(event) {
149
156
  return event.name === Name.PARSE_META_VIEWPORT;
150
157
  }
158
+ export function isMetaCharsetCheck(event) {
159
+ return event.name === Name.META_CHARSET_CHECK;
160
+ }
151
161
  export function isLinkPreconnect(event) {
152
162
  return event.name === Name.LINK_PRECONNECT;
153
163
  }
@@ -184,6 +194,9 @@ export function isPipelineReporter(event) {
184
194
  export function isSyntheticBased(event) {
185
195
  return 'rawSourceEvent' in event;
186
196
  }
197
+ export function isJSSample(event) {
198
+ return event.name === Name.JS_SAMPLE;
199
+ }
187
200
  export function isSyntheticInteraction(event) {
188
201
  return Boolean('interactionId' in event && event.args?.data && 'beginEvent' in event.args.data && 'endEvent' in event.args.data);
189
202
  }
@@ -356,10 +369,13 @@ export function isLayoutInvalidationTracking(event) {
356
369
  return event.name === Name.LAYOUT_INVALIDATION_TRACKING;
357
370
  }
358
371
  export function isFirstContentfulPaint(event) {
359
- return event.name === 'firstContentfulPaint';
372
+ return event.name === Name.MARK_FCP;
360
373
  }
361
- export function isLargestContentfulPaintCandidate(event) {
362
- return event.name === Name.MARK_LCP_CANDIDATE;
374
+ export function isAnyLargestContentfulPaintCandidate(event) {
375
+ return event.name === Name.MARK_LCP_CANDIDATE || event.name === Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION;
376
+ }
377
+ export function isSoftLargestContentfulPaintCandidate(event) {
378
+ return event.name === Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION;
363
379
  }
364
380
  export function isLargestImagePaintCandidate(event) {
365
381
  return event.name === 'LargestImagePaint::Candidate';
@@ -368,13 +384,13 @@ export function isLargestTextPaintCandidate(event) {
368
384
  return event.name === 'LargestTextPaint::Candidate';
369
385
  }
370
386
  export function isMarkLoad(event) {
371
- return event.name === 'MarkLoad';
387
+ return event.name === Name.MARK_LOAD;
372
388
  }
373
389
  export function isFirstPaint(event) {
374
- return event.name === 'firstPaint';
390
+ return event.name === Name.MARK_FIRST_PAINT;
375
391
  }
376
392
  export function isMarkDOMContent(event) {
377
- return event.name === 'MarkDOMContent';
393
+ return event.name === Name.MARK_DOM_CONTENT;
378
394
  }
379
395
  export function isInteractiveTime(event) {
380
396
  return event.name === 'InteractiveTime';
@@ -440,7 +456,7 @@ export function isPrePaint(event) {
440
456
  }
441
457
  /** A VALID navigation start (as it has a populated documentLoaderURL) */
442
458
  export function isNavigationStart(event) {
443
- return event.name === 'navigationStart' && event.args?.data?.documentLoaderURL !== '';
459
+ return event.name === Name.NAVIGATION_START && event.args?.data?.documentLoaderURL !== '';
444
460
  }
445
461
  export function isDidCommitSameDocumentNavigation(event) {
446
462
  return event.name === 'RenderFrameHostImpl::DidCommitSameDocumentNavigation' && event.ph === Phase.COMPLETE;
@@ -723,6 +739,7 @@ export var Name;
723
739
  Name["SELECTOR_STATS"] = "SelectorStats";
724
740
  Name["BEGIN_COMMIT_COMPOSITOR_FRAME"] = "BeginCommitCompositorFrame";
725
741
  Name["PARSE_META_VIEWPORT"] = "ParseMetaViewport";
742
+ Name["META_CHARSET_CHECK"] = "MetaCharsetCheck";
726
743
  /* Paint */
727
744
  Name["SCROLL_LAYER"] = "ScrollLayer";
728
745
  Name["UPDATE_LAYER"] = "UpdateLayer";
@@ -762,8 +779,10 @@ export var Name;
762
779
  Name["MARK_FIRST_PAINT"] = "firstPaint";
763
780
  Name["MARK_FCP"] = "firstContentfulPaint";
764
781
  Name["MARK_LCP_CANDIDATE"] = "largestContentfulPaint::Candidate";
782
+ Name["MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION"] = "largestContentfulPaint::CandidateForSoftNavigation";
765
783
  Name["MARK_LCP_INVALIDATE"] = "largestContentfulPaint::Invalidate";
766
784
  Name["NAVIGATION_START"] = "navigationStart";
785
+ Name["SOFT_NAVIGATION_START"] = "SoftNavigationStart";
767
786
  Name["CONSOLE_TIME"] = "ConsoleTime";
768
787
  Name["USER_TIMING"] = "UserTiming";
769
788
  Name["INTERACTIVE_TIME"] = "InteractiveTime";
@@ -822,7 +841,18 @@ export var Name;
822
841
  Name["SYNTHETIC_NETWORK_REQUEST"] = "SyntheticNetworkRequest";
823
842
  Name["USER_TIMING_MEASURE"] = "UserTiming::Measure";
824
843
  Name["LINK_PRECONNECT"] = "LinkPreconnect";
844
+ Name["PRELOAD_RENDER_BLOCKING_STATUS_CHANGE"] = "PreloadRenderBlockingStatusChange";
825
845
  })(Name || (Name = {}));
846
+ export const MarkerName = [
847
+ Name.MARK_DOM_CONTENT,
848
+ Name.MARK_LOAD,
849
+ Name.MARK_FIRST_PAINT,
850
+ Name.MARK_FCP,
851
+ Name.MARK_LCP_CANDIDATE,
852
+ Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION,
853
+ Name.NAVIGATION_START,
854
+ Name.SOFT_NAVIGATION_START,
855
+ ];
826
856
  /**
827
857
  * NOT AN EXHAUSTIVE LIST: just some categories we use and refer
828
858
  * to in multiple places.
@@ -850,4 +880,7 @@ export function isRundownScriptSourceLarge(event) {
850
880
  export function isAnyScriptSourceEvent(event) {
851
881
  return event.cat === 'disabled-by-default-devtools.v8-source-rundown-sources';
852
882
  }
883
+ export function isPreloadRenderBlockingStatusChangeEvent(event) {
884
+ return event.name === Name.PRELOAD_RENDER_BLOCKING_STATUS_CHANGE;
885
+ }
853
886
  //# sourceMappingURL=TraceEvents.js.map