@paulirish/trace_engine 0.0.20 → 0.0.21

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 (35) hide show
  1. package/generated/protocol.d.ts +25 -4
  2. package/models/trace/handlers/InvalidationsHandler.js +0 -9
  3. package/models/trace/handlers/InvalidationsHandler.js.map +1 -1
  4. package/models/trace/handlers/MetaHandler.js +25 -6
  5. package/models/trace/handlers/MetaHandler.js.map +1 -1
  6. package/models/trace/handlers/ModelHandlers.d.ts +1 -0
  7. package/models/trace/handlers/ModelHandlers.js +1 -0
  8. package/models/trace/handlers/ModelHandlers.js.map +1 -1
  9. package/models/trace/handlers/NetworkRequestsHandler.js +4 -0
  10. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  11. package/models/trace/handlers/SelectorStatsHandler.d.ts +9 -0
  12. package/models/trace/handlers/SelectorStatsHandler.js +28 -0
  13. package/models/trace/handlers/SelectorStatsHandler.js.map +1 -0
  14. package/models/trace/handlers/UserInteractionsHandler.d.ts +2 -0
  15. package/models/trace/handlers/UserInteractionsHandler.js +7 -0
  16. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  17. package/models/trace/handlers/handlers-tsconfig.json +1 -0
  18. package/models/trace/helpers/Trace.d.ts +11 -0
  19. package/models/trace/helpers/Trace.js +101 -0
  20. package/models/trace/helpers/Trace.js.map +1 -1
  21. package/models/trace/insights/InsightRunners.d.ts +1 -0
  22. package/models/trace/insights/InsightRunners.js +1 -0
  23. package/models/trace/insights/InsightRunners.js.map +1 -1
  24. package/models/trace/insights/Viewport.d.ts +5 -0
  25. package/models/trace/insights/Viewport.js +39 -0
  26. package/models/trace/insights/Viewport.js.map +1 -0
  27. package/models/trace/insights/insights-tsconfig.json +1 -0
  28. package/models/trace/insights/types.d.ts +2 -1
  29. package/models/trace/insights/types.js +1 -0
  30. package/models/trace/insights/types.js.map +1 -1
  31. package/models/trace/types/TraceEvents.d.ts +44 -13
  32. package/models/trace/types/TraceEvents.js +8 -2
  33. package/models/trace/types/TraceEvents.js.map +1 -1
  34. package/package.json +1 -1
  35. package/PAUL.readme.md +0 -5
@@ -51,6 +51,7 @@ export interface TraceEventArgs {
51
51
  }
52
52
  export interface TraceEventArgsData {
53
53
  stackTrace?: TraceEventCallFrame[];
54
+ url?: string;
54
55
  navigationId?: string;
55
56
  frame?: string;
56
57
  }
@@ -68,6 +69,7 @@ export interface TraceFrame {
68
69
  processId: ProcessID;
69
70
  url: string;
70
71
  parent?: string;
72
+ isOutermostMainFrame?: boolean;
71
73
  }
72
74
  export interface TraceEventSample extends TraceEventData {
73
75
  ph: Phase.SAMPLE;
@@ -253,8 +255,8 @@ export interface SyntheticNetworkRequest extends TraceEventComplete {
253
255
  mimeType: string;
254
256
  pathname: string;
255
257
  search: string;
256
- priority: Priority;
257
- initialPriority: Priority;
258
+ priority: Protocol.Network.ResourcePriority;
259
+ initialPriority: Protocol.Network.ResourcePriority;
258
260
  protocol: string;
259
261
  redirects: SyntheticNetworkRedirect[];
260
262
  renderBlocking: RenderBlocking;
@@ -268,6 +270,12 @@ export interface SyntheticNetworkRequest extends TraceEventComplete {
268
270
  }>;
269
271
  fetchPriorityHint: FetchPriorityHint;
270
272
  url: string;
273
+ /** True only if got a 'resourceFinish' event indicating a failure. */
274
+ failed: boolean;
275
+ /** True only if got a 'resourceFinish' event. */
276
+ finished: boolean;
277
+ connectionId: number;
278
+ connectionReused: boolean;
271
279
  initiator?: Initiator;
272
280
  requestMethod?: string;
273
281
  timing?: TraceEventResourceReceiveResponseTimingData;
@@ -409,7 +417,7 @@ export interface TraceEventNavigationStart extends TraceEventMark {
409
417
  };
410
418
  }
411
419
  export interface TraceEventFirstContentfulPaint extends TraceEventMark {
412
- name: 'firstContentfulPaint';
420
+ name: KnownEventName.MarkFCP;
413
421
  args: TraceEventArgs & {
414
422
  frame: string;
415
423
  data?: TraceEventArgsData & {
@@ -428,13 +436,13 @@ export interface TraceEventFirstPaint extends TraceEventMark {
428
436
  }
429
437
  export type PageLoadEvent = TraceEventFirstContentfulPaint | TraceEventMarkDOMContent | TraceEventInteractiveTime | TraceEventLargestContentfulPaintCandidate | TraceEventLayoutShift | TraceEventFirstPaint | TraceEventMarkLoad | TraceEventNavigationStart;
430
438
  export declare const MarkerName: readonly ["MarkDOMContent", "MarkLoad", "firstPaint", "firstContentfulPaint", "largestContentfulPaint::Candidate"];
431
- interface MakerEvent extends TraceEventData {
439
+ export interface MarkerEvent extends TraceEventData {
432
440
  name: typeof MarkerName[number];
433
441
  }
434
- export declare function isTraceEventMarkerEvent(event: TraceEventData): event is MakerEvent;
442
+ export declare function isTraceEventMarkerEvent(event: TraceEventData): event is MarkerEvent;
435
443
  export declare function eventIsPageLoadEvent(event: TraceEventData): event is PageLoadEvent;
436
444
  export interface TraceEventLargestContentfulPaintCandidate extends TraceEventMark {
437
- name: 'largestContentfulPaint::Candidate';
445
+ name: KnownEventName.MarkLCPCandidate;
438
446
  args: TraceEventArgs & {
439
447
  frame: string;
440
448
  data?: TraceEventArgsData & {
@@ -614,7 +622,6 @@ export interface SyntheticLayoutShift extends TraceEventLayoutShift {
614
622
  };
615
623
  parsedData: LayoutShiftParsedData;
616
624
  }
617
- export type Priority = 'Low' | 'High' | 'Medium' | 'VeryHigh' | 'Highest';
618
625
  export type FetchPriorityHint = 'low' | 'high' | 'auto';
619
626
  export type RenderBlocking = 'blocking' | 'non_blocking' | 'in_body_parser_blocking' | 'potentially_blocking';
620
627
  export interface Initiator {
@@ -631,7 +638,7 @@ export interface TraceEventResourceSendRequest extends TraceEventInstant {
631
638
  frame: string;
632
639
  requestId: string;
633
640
  url: string;
634
- priority: Priority;
641
+ priority: Protocol.Network.ResourcePriority;
635
642
  resourceType: Protocol.Network.ResourceType;
636
643
  fetchPriorityHint: FetchPriorityHint;
637
644
  requestMethod?: string;
@@ -645,7 +652,7 @@ export interface TraceEventResourceChangePriority extends TraceEventInstant {
645
652
  args: TraceEventArgs & {
646
653
  data: TraceEventArgsData & {
647
654
  requestId: string;
648
- priority: Priority;
655
+ priority: Protocol.Network.ResourcePriority;
649
656
  };
650
657
  };
651
658
  }
@@ -712,6 +719,8 @@ export interface TraceEventResourceReceiveResponse extends TraceEventInstant {
712
719
  statusCode: number;
713
720
  timing: TraceEventResourceReceiveResponseTimingData;
714
721
  isLinkPreload?: boolean;
722
+ connectionId: number;
723
+ connectionReused: boolean;
715
724
  headers?: Array<{
716
725
  name: string;
717
726
  value: string;
@@ -801,6 +810,14 @@ export interface TraceEventStyleInvalidatorInvalidationTracking extends TraceEve
801
810
  };
802
811
  }
803
812
  export declare function isTraceEventStyleInvalidatorInvalidationTracking(event: TraceEventData): event is TraceEventStyleInvalidatorInvalidationTracking;
813
+ export interface TraceEventBeginCommitCompositorFrame extends TraceEventInstant {
814
+ name: KnownEventName.BeginCommitCompositorFrame;
815
+ args: TraceEventArgs & {
816
+ frame: string;
817
+ is_mobile_optimized: boolean;
818
+ };
819
+ }
820
+ export declare function isTraceEventBeginCommitCompositorFrame(event: TraceEventData): event is TraceEventBeginCommitCompositorFrame;
804
821
  export interface TraceEventScheduleStyleRecalculation extends TraceEventInstant {
805
822
  name: KnownEventName.ScheduleStyleRecalculation;
806
823
  args: TraceEventArgs & {
@@ -1147,21 +1164,21 @@ export interface SelectorTiming {
1147
1164
  'match_attempts': number;
1148
1165
  'selector': string;
1149
1166
  'style_sheet_id': string;
1167
+ 'match_count': number;
1150
1168
  }
1151
1169
  export interface SelectorStats {
1152
1170
  selector_timings: SelectorTiming[];
1153
1171
  }
1154
- export interface TraceEventStyleRecalcSelectorStats extends TraceEventComplete {
1172
+ export interface TraceEventSelectorStats extends TraceEventComplete {
1155
1173
  name: KnownEventName.SelectorStats;
1156
1174
  args: TraceEventArgs & {
1157
1175
  selector_stats?: SelectorStats;
1158
1176
  };
1159
1177
  }
1160
- export declare function isStyleRecalcSelectorStats(event: TraceEventData): event is TraceEventStyleRecalcSelectorStats;
1178
+ export declare function isTraceEventSelectorStats(event: TraceEventData): event is TraceEventSelectorStats;
1161
1179
  export interface TraceEventUpdateLayoutTree extends TraceEventComplete {
1162
1180
  name: KnownEventName.UpdateLayoutTree;
1163
1181
  args: TraceEventArgs & {
1164
- selector_stats?: SelectorStats;
1165
1182
  elementCount: number;
1166
1183
  beginData?: {
1167
1184
  frame: string;
@@ -1520,6 +1537,20 @@ export interface TraceEventV8Compile extends TraceEventComplete {
1520
1537
  };
1521
1538
  }
1522
1539
  export declare function isTraceEventV8Compile(event: TraceEventData): event is TraceEventV8Compile;
1540
+ export interface TraceEventFunctionCall extends TraceEventComplete {
1541
+ name: KnownEventName.FunctionCall;
1542
+ args: TraceEventArgs & {
1543
+ data?: {
1544
+ frame?: string;
1545
+ columnNumber?: number;
1546
+ lineNumber?: number;
1547
+ functionName?: string;
1548
+ scriptId?: number;
1549
+ url?: string;
1550
+ };
1551
+ };
1552
+ }
1553
+ export declare function isTraceEventFunctionCall(event: TraceEventData): event is TraceEventFunctionCall;
1523
1554
  /**
1524
1555
  * Generally, before JS is executed, a trace event is dispatched that
1525
1556
  * parents the JS calls. These we call "invocation" events. This
@@ -1604,6 +1635,7 @@ export declare const enum KnownEventName {
1604
1635
  StyleRecalcInvalidationTracking = "StyleRecalcInvalidationTracking",
1605
1636
  StyleInvalidatorInvalidationTracking = "StyleInvalidatorInvalidationTracking",
1606
1637
  SelectorStats = "SelectorStats",
1638
+ BeginCommitCompositorFrame = "BeginCommitCompositorFrame",
1607
1639
  ScrollLayer = "ScrollLayer",
1608
1640
  UpdateLayer = "UpdateLayer",
1609
1641
  PaintSetup = "PaintSetup",
@@ -1615,7 +1647,6 @@ export declare const enum KnownEventName {
1615
1647
  ImageDecodeTask = "ImageDecodeTask",
1616
1648
  ImageUploadTask = "ImageUploadTask",
1617
1649
  DecodeImage = "Decode Image",
1618
- ResizeImage = "Resize Image",
1619
1650
  DrawLazyPixelRef = "Draw LazyPixelRef",
1620
1651
  DecodeLazyPixelRef = "Decode LazyPixelRef",
1621
1652
  GPUTask = "GPUTask",
@@ -52,6 +52,9 @@ export function isTraceEventStyleRecalcInvalidationTracking(event) {
52
52
  export function isTraceEventStyleInvalidatorInvalidationTracking(event) {
53
53
  return event.name === "StyleInvalidatorInvalidationTracking" /* KnownEventName.StyleInvalidatorInvalidationTracking */;
54
54
  }
55
+ export function isTraceEventBeginCommitCompositorFrame(event) {
56
+ return event.name === "BeginCommitCompositorFrame" /* KnownEventName.BeginCommitCompositorFrame */;
57
+ }
55
58
  export function isTraceEventScheduleStyleRecalculation(event) {
56
59
  return event.name === "ScheduleStyleRecalculation" /* KnownEventName.ScheduleStyleRecalculation */;
57
60
  }
@@ -113,7 +116,7 @@ export function isTraceEventDecodeLazyPixelRef(event) {
113
116
  export function isTraceEventDecodeImage(event) {
114
117
  return event.name === "Decode Image" /* KnownEventName.DecodeImage */;
115
118
  }
116
- export function isStyleRecalcSelectorStats(event) {
119
+ export function isTraceEventSelectorStats(event) {
117
120
  return event.name === "SelectorStats" /* KnownEventName.SelectorStats */;
118
121
  }
119
122
  export function isTraceEventUpdateLayoutTree(event) {
@@ -221,7 +224,7 @@ export function isTraceEventFirstContentfulPaint(traceEventData) {
221
224
  return traceEventData.name === 'firstContentfulPaint';
222
225
  }
223
226
  export function isTraceEventLargestContentfulPaintCandidate(traceEventData) {
224
- return traceEventData.name === 'largestContentfulPaint::Candidate';
227
+ return traceEventData.name === "largestContentfulPaint::Candidate" /* KnownEventName.MarkLCPCandidate */;
225
228
  }
226
229
  export function isTraceEventLargestImagePaintCandidate(traceEventData) {
227
230
  return traceEventData.name === 'LargestImagePaint::Candidate';
@@ -407,6 +410,9 @@ export function isWebSocketTraceEvent(event) {
407
410
  export function isTraceEventV8Compile(event) {
408
411
  return event.name === "v8.compile" /* KnownEventName.Compile */;
409
412
  }
413
+ export function isTraceEventFunctionCall(event) {
414
+ return event.name === "FunctionCall" /* KnownEventName.FunctionCall */;
415
+ }
410
416
  /**
411
417
  * Generally, before JS is executed, a trace event is dispatched that
412
418
  * parents the JS calls. These we call "invocation" events. This