@paulirish/trace_engine 0.0.23 → 0.0.25

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 (60) hide show
  1. package/PAUL.readme.md +5 -0
  2. package/generated/protocol.d.ts +84 -17
  3. package/models/trace/EntriesFilter.d.ts +14 -13
  4. package/models/trace/EntriesFilter.js +40 -38
  5. package/models/trace/EntriesFilter.js.map +1 -1
  6. package/models/trace/ModelImpl.d.ts +6 -4
  7. package/models/trace/ModelImpl.js +13 -4
  8. package/models/trace/ModelImpl.js.map +1 -1
  9. package/models/trace/Processor.js +6 -1
  10. package/models/trace/Processor.js.map +1 -1
  11. package/models/trace/extras/FetchNodes.js +1 -1
  12. package/models/trace/extras/FetchNodes.js.map +1 -1
  13. package/models/trace/extras/URLForEntry.d.ts +4 -0
  14. package/models/trace/extras/URLForEntry.js +35 -0
  15. package/models/trace/extras/URLForEntry.js.map +1 -0
  16. package/models/trace/extras/extras-tsconfig.json +1 -0
  17. package/models/trace/extras/extras.js.map +1 -1
  18. package/models/trace/handlers/AuctionWorkletsHandler.js +4 -2
  19. package/models/trace/handlers/AuctionWorkletsHandler.js.map +1 -1
  20. package/models/trace/handlers/InitiatorsHandler.js +1 -12
  21. package/models/trace/handlers/InitiatorsHandler.js.map +1 -1
  22. package/models/trace/handlers/LayoutShiftsHandler.d.ts +1 -0
  23. package/models/trace/handlers/LayoutShiftsHandler.js +10 -2
  24. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  25. package/models/trace/handlers/MetaHandler.js +39 -13
  26. package/models/trace/handlers/MetaHandler.js.map +1 -1
  27. package/models/trace/handlers/NetworkRequestsHandler.js +4 -3
  28. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  29. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +1 -2
  30. package/models/trace/handlers/PageLoadMetricsHandler.js +2 -35
  31. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  32. package/models/trace/handlers/RendererHandler.d.ts +1 -0
  33. package/models/trace/handlers/RendererHandler.js +2 -0
  34. package/models/trace/handlers/RendererHandler.js.map +1 -1
  35. package/models/trace/handlers/ScreenshotsHandler.js +2 -2
  36. package/models/trace/handlers/ScreenshotsHandler.js.map +1 -1
  37. package/models/trace/handlers/UserInteractionsHandler.js +3 -2
  38. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  39. package/models/trace/helpers/SyntheticEvents.d.ts +31 -0
  40. package/models/trace/helpers/SyntheticEvents.js +99 -0
  41. package/models/trace/helpers/SyntheticEvents.js.map +1 -0
  42. package/models/trace/helpers/Timing.d.ts +17 -0
  43. package/models/trace/helpers/Timing.js +17 -0
  44. package/models/trace/helpers/Timing.js.map +1 -1
  45. package/models/trace/helpers/Trace.js +3 -2
  46. package/models/trace/helpers/Trace.js.map +1 -1
  47. package/models/trace/helpers/helpers-tsconfig.json +1 -0
  48. package/models/trace/helpers/helpers.d.ts +1 -0
  49. package/models/trace/helpers/helpers.js +1 -0
  50. package/models/trace/helpers/helpers.js.map +1 -1
  51. package/models/trace/insights/CumulativeLayoutShift.d.ts +7 -2
  52. package/models/trace/insights/CumulativeLayoutShift.js +130 -2
  53. package/models/trace/insights/CumulativeLayoutShift.js.map +1 -1
  54. package/models/trace/types/File.d.ts +33 -6
  55. package/models/trace/types/File.js +36 -4
  56. package/models/trace/types/File.js.map +1 -1
  57. package/models/trace/types/TraceEvents.d.ts +86 -12
  58. package/models/trace/types/TraceEvents.js +27 -3
  59. package/models/trace/types/TraceEvents.js.map +1 -1
  60. package/package.json +1 -1
@@ -71,6 +71,7 @@ export interface TraceFrame {
71
71
  url: string;
72
72
  parent?: string;
73
73
  isOutermostMainFrame?: boolean;
74
+ isInPrimaryMainFrame?: boolean;
74
75
  }
75
76
  export interface TraceEventSample extends TraceEventData {
76
77
  ph: Phase.SAMPLE;
@@ -79,7 +80,7 @@ export interface TraceEventSample extends TraceEventData {
79
80
  * A fake trace event created to support CDP.Profiler.Profiles in the
80
81
  * trace engine.
81
82
  */
82
- export interface SyntheticCpuProfile extends TraceEventInstant, SyntheticEvent<Phase.INSTANT> {
83
+ export interface SyntheticCpuProfile extends TraceEventInstant, SyntheticBasedEvent<Phase.INSTANT> {
83
84
  name: 'CpuProfile';
84
85
  args: TraceEventArgs & {
85
86
  data: TraceEventArgsData & {
@@ -247,7 +248,7 @@ interface SyntheticArgsData {
247
248
  totalTime: MicroSeconds;
248
249
  waiting: MicroSeconds;
249
250
  }
250
- export interface SyntheticNetworkRequest extends TraceEventComplete, SyntheticEvent<Phase.COMPLETE> {
251
+ export interface SyntheticNetworkRequest extends TraceEventComplete, SyntheticBasedEvent<Phase.COMPLETE> {
251
252
  rawSourceEvent: TraceEventData;
252
253
  args: TraceEventArgs & {
253
254
  data: TraceEventArgsData & {
@@ -306,7 +307,7 @@ export declare const enum AuctionWorkletType {
306
307
  SELLER = "seller",
307
308
  UNKNOWN = "unknown"
308
309
  }
309
- export interface SyntheticAuctionWorkletEvent extends TraceEventInstant, SyntheticEvent<Phase.INSTANT> {
310
+ export interface SyntheticAuctionWorkletEvent extends TraceEventInstant, SyntheticBasedEvent<Phase.INSTANT> {
310
311
  rawSourceEvent: TraceEventData;
311
312
  name: 'SyntheticAuctionWorkletEvent';
312
313
  pid: ProcessID;
@@ -370,7 +371,7 @@ export interface TraceEventScreenshot extends TraceEventData {
370
371
  ph: Phase.OBJECT_SNAPSHOT;
371
372
  }
372
373
  export declare function isTraceEventScreenshot(event: TraceEventData): event is TraceEventScreenshot;
373
- export interface SyntheticScreenshot extends TraceEventData, SyntheticEvent {
374
+ export interface SyntheticScreenshot extends TraceEventData, SyntheticBasedEvent {
374
375
  rawSourceEvent: TraceEventScreenshot;
375
376
  /** This is the correct presentation timestamp. */
376
377
  ts: MicroSeconds;
@@ -628,7 +629,7 @@ export interface LayoutShiftParsedData {
628
629
  cumulativeWeightedScoreInWindow: number;
629
630
  sessionWindowData: LayoutShiftSessionWindowData;
630
631
  }
631
- export interface SyntheticLayoutShift extends TraceEventLayoutShift, SyntheticEvent<Phase.INSTANT> {
632
+ export interface SyntheticLayoutShift extends TraceEventLayoutShift, SyntheticBasedEvent<Phase.INSTANT> {
632
633
  name: 'LayoutShift';
633
634
  rawSourceEvent: TraceEventLayoutShift;
634
635
  args: TraceEventArgs & {
@@ -661,6 +662,7 @@ export interface TraceEventResourceSendRequest extends TraceEventInstant {
661
662
  requestMethod?: string;
662
663
  renderBlocking?: RenderBlocking;
663
664
  initiator?: Initiator;
665
+ isLinkPreload?: boolean;
664
666
  };
665
667
  };
666
668
  }
@@ -743,7 +745,6 @@ export interface TraceEventResourceReceiveResponse extends TraceEventInstant {
743
745
  responseTime: MilliSeconds;
744
746
  statusCode: number;
745
747
  timing: TraceEventResourceReceiveResponseTimingData;
746
- isLinkPreload?: boolean;
747
748
  connectionId: number;
748
749
  connectionReused: boolean;
749
750
  headers?: Array<{
@@ -852,6 +853,14 @@ export interface TraceEventScheduleStyleRecalculation extends TraceEventInstant
852
853
  };
853
854
  }
854
855
  export declare function isTraceEventScheduleStyleRecalculation(event: TraceEventData): event is TraceEventScheduleStyleRecalculation;
856
+ export interface TraceEventRenderFrameImplCreateChildFrame extends TraceEventData {
857
+ name: KnownEventName.RenderFrameImplCreateChildFrame;
858
+ args: TraceEventArgs & {
859
+ child_frame_token: string;
860
+ frame_token: string;
861
+ };
862
+ }
863
+ export declare function isTraceEventRenderFrameImplCreateChildFrame(event: TraceEventData): event is TraceEventRenderFrameImplCreateChildFrame;
855
864
  export interface TraceEventPrePaint extends TraceEventComplete {
856
865
  name: 'PrePaint';
857
866
  }
@@ -1004,12 +1013,15 @@ export interface TraceEventPipelineReporter extends TraceEventData {
1004
1013
  };
1005
1014
  }
1006
1015
  export declare function isTraceEventPipelineReporter(event: TraceEventData): event is TraceEventPipelineReporter;
1007
- interface SyntheticEvent<Ph extends Phase = Phase> extends TraceEventData {
1016
+ export interface SyntheticBasedEvent<Ph extends Phase = Phase> extends SyntheticEntry {
1008
1017
  ph: Ph;
1009
1018
  rawSourceEvent: TraceEventData;
1010
1019
  }
1011
- export declare function isSyntheticEvent(event: TraceEventData): event is SyntheticEvent;
1012
- export interface SyntheticEventPair<T extends TraceEventPairableAsync = TraceEventPairableAsync> extends SyntheticEvent {
1020
+ export type SyntheticEntry = TraceEventData & {
1021
+ _tag: 'SyntheticEntryTag';
1022
+ };
1023
+ export declare function isSyntheticBasedEvent(event: TraceEventData): event is SyntheticBasedEvent;
1024
+ export interface SyntheticEventPair<T extends TraceEventPairableAsync = TraceEventPairableAsync> extends SyntheticBasedEvent {
1013
1025
  rawSourceEvent: TraceEventData;
1014
1026
  name: T['name'];
1015
1027
  cat: T['cat'];
@@ -1066,6 +1078,7 @@ export interface SyntheticProfileCall extends SyntheticTraceEntry {
1066
1078
  nodeId: Protocol.integer;
1067
1079
  sampleIndex: number;
1068
1080
  profileId: ProfileID;
1081
+ selfTime: MicroSeconds;
1069
1082
  }
1070
1083
  /**
1071
1084
  * A JS Sample reflects a single sample from the V8 CPU Profile
@@ -1253,7 +1266,7 @@ export interface TraceEventLayout extends TraceEventComplete {
1253
1266
  partialLayout: boolean;
1254
1267
  totalObjects: number;
1255
1268
  };
1256
- endData: {
1269
+ endData?: {
1257
1270
  layoutRoots: Array<{
1258
1271
  depth: number;
1259
1272
  nodeId: Protocol.DOM.BackendNodeId;
@@ -1283,6 +1296,11 @@ declare class CallFrameIdTag {
1283
1296
  }
1284
1297
  export type CallFrameID = number & CallFrameIdTag;
1285
1298
  export declare function CallFrameID(value: number): CallFrameID;
1299
+ declare class SampleIndexTag {
1300
+ #private;
1301
+ }
1302
+ export type SampleIndex = number & SampleIndexTag;
1303
+ export declare function SampleIndex(value: number): SampleIndex;
1286
1304
  declare class ProcessIdTag {
1287
1305
  #private;
1288
1306
  }
@@ -1542,12 +1560,64 @@ export interface TraceEventWebSocketCreate extends TraceEventInstant {
1542
1560
  identifier: number;
1543
1561
  url: string;
1544
1562
  frame?: string;
1563
+ workerId?: string;
1545
1564
  websocketProtocol?: string;
1546
1565
  stackTrace?: TraceEventCallFrame;
1547
1566
  };
1548
1567
  };
1549
1568
  }
1550
1569
  export declare function isTraceEventWebSocketCreate(event: TraceEventData): event is TraceEventWebSocketCreate;
1570
+ export interface TraceEventWebSocketInfo extends TraceEventInstant {
1571
+ name: KnownEventName.WebSocketDestroy | KnownEventName.WebSocketReceiveHandshake | KnownEventName.WebSocketReceiveHandshakeResponse;
1572
+ args: TraceEventArgs & {
1573
+ data: TraceEventArgsData & {
1574
+ identifier: number;
1575
+ url: string;
1576
+ frame?: string;
1577
+ workerId?: string;
1578
+ };
1579
+ };
1580
+ }
1581
+ export interface TraceEventWebSocketTransfer extends TraceEventInstant {
1582
+ name: KnownEventName.WebSocketSend | KnownEventName.WebSocketReceive;
1583
+ args: TraceEventArgs & {
1584
+ data: TraceEventArgsData & {
1585
+ identifier: number;
1586
+ url: string;
1587
+ frame?: string;
1588
+ workerId?: string;
1589
+ dataLength: number;
1590
+ };
1591
+ };
1592
+ }
1593
+ export declare function isTraceEventWebSocketInfo(traceEventData: TraceEventData): traceEventData is TraceEventWebSocketInfo;
1594
+ export declare function isTraceEventWebSocketTransfer(traceEventData: TraceEventData): traceEventData is TraceEventWebSocketTransfer;
1595
+ export interface TraceEventWebSocketSend extends TraceEventInstant {
1596
+ name: KnownEventName.WebSocketSend;
1597
+ args: TraceEventArgs & {
1598
+ data: TraceEventArgsData & {
1599
+ identifier: number;
1600
+ url: string;
1601
+ frame?: string;
1602
+ workerId?: string;
1603
+ dataLength: number;
1604
+ };
1605
+ };
1606
+ }
1607
+ export declare function isTraceEventWebSocketSend(event: TraceEventData): event is TraceEventWebSocketSend;
1608
+ export interface TraceEventWebSocketReceive extends TraceEventInstant {
1609
+ name: KnownEventName.WebSocketReceive;
1610
+ args: TraceEventArgs & {
1611
+ data: TraceEventArgsData & {
1612
+ identifier: number;
1613
+ url: string;
1614
+ frame?: string;
1615
+ workerId?: string;
1616
+ dataLength: number;
1617
+ };
1618
+ };
1619
+ }
1620
+ export declare function isTraceEventWebSocketReceive(event: TraceEventData): event is TraceEventWebSocketReceive;
1551
1621
  export interface TraceEventWebSocketSendHandshakeRequest extends TraceEventInstant {
1552
1622
  name: KnownEventName.WebSocketSendHandshakeRequest;
1553
1623
  args: TraceEventArgs & {
@@ -1578,7 +1648,8 @@ export interface TraceEventWebSocketDestroy extends TraceEventInstant {
1578
1648
  };
1579
1649
  }
1580
1650
  export declare function isTraceEventWebSocketDestroy(event: TraceEventData): event is TraceEventWebSocketDestroy;
1581
- export declare function isWebSocketTraceEvent(event: TraceEventData): event is TraceEventWebSocketCreate | TraceEventWebSocketDestroy | TraceEventWebSocketReceiveHandshakeResponse | TraceEventWebSocketSendHandshakeRequest;
1651
+ export declare function isWebSocketTraceEvent(event: TraceEventData): event is TraceEventWebSocketCreate | TraceEventWebSocketInfo | TraceEventWebSocketTransfer;
1652
+ export type WebSocketEvent = TraceEventWebSocketCreate | TraceEventWebSocketInfo | TraceEventWebSocketTransfer;
1582
1653
  export interface TraceEventV8Compile extends TraceEventComplete {
1583
1654
  name: KnownEventName.Compile;
1584
1655
  args: TraceEventArgs & {
@@ -1662,6 +1733,8 @@ export declare const enum KnownEventName {
1662
1733
  WebSocketSendHandshake = "WebSocketSendHandshakeRequest",
1663
1734
  WebSocketReceiveHandshake = "WebSocketReceiveHandshakeResponse",
1664
1735
  WebSocketDestroy = "WebSocketDestroy",
1736
+ WebSocketSend = "WebSocketSend",
1737
+ WebSocketReceive = "WebSocketReceive",
1665
1738
  CryptoDoEncrypt = "DoEncrypt",
1666
1739
  CryptoDoEncryptReply = "DoEncryptReply",
1667
1740
  CryptoDoDecrypt = "DoDecrypt",
@@ -1771,7 +1844,8 @@ export declare const enum KnownEventName {
1771
1844
  InputLatencyMouseWheel = "InputLatency::MouseWheel",
1772
1845
  ImplSideFling = "InputHandlerProxy::HandleGestureFling::started",
1773
1846
  SchedulePostMessage = "SchedulePostMessage",
1774
- HandlePostMessage = "HandlePostMessage"
1847
+ HandlePostMessage = "HandlePostMessage",
1848
+ RenderFrameImplCreateChildFrame = "RenderFrameImpl::createChildFrame"
1775
1849
  }
1776
1850
  export declare const Categories: {
1777
1851
  readonly Console: "blink.console";
@@ -68,10 +68,13 @@ export function isTraceEventBeginCommitCompositorFrame(event) {
68
68
  export function isTraceEventScheduleStyleRecalculation(event) {
69
69
  return event.name === "ScheduleStyleRecalculation" /* KnownEventName.ScheduleStyleRecalculation */;
70
70
  }
71
+ export function isTraceEventRenderFrameImplCreateChildFrame(event) {
72
+ return event.name === "RenderFrameImpl::createChildFrame" /* KnownEventName.RenderFrameImplCreateChildFrame */;
73
+ }
71
74
  export function isTraceEventPipelineReporter(event) {
72
75
  return event.name === "PipelineReporter" /* KnownEventName.PipelineReporter */;
73
76
  }
74
- export function isSyntheticEvent(event) {
77
+ export function isSyntheticBasedEvent(event) {
75
78
  return 'rawSourceEvent' in event;
76
79
  }
77
80
  export function isSyntheticInteractionEvent(event) {
@@ -155,6 +158,13 @@ class CallFrameIdTag {
155
158
  export function CallFrameID(value) {
156
159
  return value;
157
160
  }
161
+ class SampleIndexTag {
162
+ #sampleIndexTag;
163
+ }
164
+ // eslint-disable-next-line @typescript-eslint/naming-convention
165
+ export function SampleIndex(value) {
166
+ return value;
167
+ }
158
168
  class ProcessIdTag {
159
169
  #processIdTag;
160
170
  }
@@ -408,6 +418,21 @@ export function isTraceEventRequestIdleCallback(event) {
408
418
  export function isTraceEventWebSocketCreate(event) {
409
419
  return event.name === "WebSocketCreate" /* KnownEventName.WebSocketCreate */;
410
420
  }
421
+ export function isTraceEventWebSocketInfo(traceEventData) {
422
+ return traceEventData.name === "WebSocketSendHandshakeRequest" /* KnownEventName.WebSocketSendHandshakeRequest */ ||
423
+ traceEventData.name === "WebSocketReceiveHandshakeResponse" /* KnownEventName.WebSocketReceiveHandshakeResponse */ ||
424
+ traceEventData.name === "WebSocketDestroy" /* KnownEventName.WebSocketDestroy */;
425
+ }
426
+ export function isTraceEventWebSocketTransfer(traceEventData) {
427
+ return traceEventData.name === "WebSocketSend" /* KnownEventName.WebSocketSend */ ||
428
+ traceEventData.name === "WebSocketReceive" /* KnownEventName.WebSocketReceive */;
429
+ }
430
+ export function isTraceEventWebSocketSend(event) {
431
+ return event.name === "WebSocketSend" /* KnownEventName.WebSocketSend */;
432
+ }
433
+ export function isTraceEventWebSocketReceive(event) {
434
+ return event.name === "WebSocketReceive" /* KnownEventName.WebSocketReceive */;
435
+ }
411
436
  export function isTraceEventWebSocketSendHandshakeRequest(event) {
412
437
  return event.name === "WebSocketSendHandshakeRequest" /* KnownEventName.WebSocketSendHandshakeRequest */;
413
438
  }
@@ -418,8 +443,7 @@ export function isTraceEventWebSocketDestroy(event) {
418
443
  return event.name === "WebSocketDestroy" /* KnownEventName.WebSocketDestroy */;
419
444
  }
420
445
  export function isWebSocketTraceEvent(event) {
421
- return isTraceEventWebSocketCreate(event) || isTraceEventWebSocketDestroy(event) ||
422
- isTraceEventWebSocketReceiveHandshakeResponse(event) || isTraceEventWebSocketSendHandshakeRequest(event);
446
+ return isTraceEventWebSocketCreate(event) || isTraceEventWebSocketInfo(event) || isTraceEventWebSocketTransfer(event);
423
447
  }
424
448
  export function isTraceEventV8Compile(event) {
425
449
  return event.name === "v8.compile" /* KnownEventName.Compile */;