@paulirish/trace_engine 0.0.18 → 0.0.20
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.
- package/PAUL.readme.md +5 -0
- package/README.md +2 -5
- package/core/platform/StringUtilities.js +3 -3
- package/core/platform/StringUtilities.js.map +1 -1
- package/core/platform/TypedArrayUtilities.d.ts +26 -0
- package/core/platform/TypedArrayUtilities.js +111 -0
- package/core/platform/TypedArrayUtilities.js.map +1 -0
- package/core/platform/platform-tsconfig.json +1 -0
- package/core/platform/platform.d.ts +2 -1
- package/core/platform/platform.js +2 -1
- package/core/platform/platform.js.map +1 -1
- package/generated/protocol.d.ts +273 -5
- package/models/cpu_profile/CPUProfileDataModel.js +3 -3
- package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
- package/models/trace/EntriesFilter.d.ts +3 -2
- package/models/trace/EntriesFilter.js +5 -3
- package/models/trace/EntriesFilter.js.map +1 -1
- package/models/trace/LegacyTracingModel.js.map +1 -1
- package/models/trace/ModelImpl.d.ts +1 -0
- package/models/trace/ModelImpl.js +5 -0
- package/models/trace/ModelImpl.js.map +1 -1
- package/models/trace/Processor.js +7 -1
- package/models/trace/Processor.js.map +1 -1
- package/models/trace/extras/FetchNodes.d.ts +8 -0
- package/models/trace/extras/FetchNodes.js +54 -2
- package/models/trace/extras/FetchNodes.js.map +1 -1
- package/models/trace/handlers/ExtensionTraceDataHandler.d.ts +13 -0
- package/models/trace/handlers/ExtensionTraceDataHandler.js +93 -0
- package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -0
- package/models/trace/handlers/ImagePaintingHandler.d.ts +8 -0
- package/models/trace/handlers/ImagePaintingHandler.js +108 -0
- package/models/trace/handlers/ImagePaintingHandler.js.map +1 -0
- package/models/trace/handlers/InvalidationsHandler.js +9 -0
- package/models/trace/handlers/InvalidationsHandler.js.map +1 -1
- package/models/trace/handlers/MetaHandler.js +4 -2
- package/models/trace/handlers/MetaHandler.js.map +1 -1
- package/models/trace/handlers/ModelHandlers.d.ts +3 -0
- package/models/trace/handlers/ModelHandlers.js +3 -0
- package/models/trace/handlers/ModelHandlers.js.map +1 -1
- package/models/trace/handlers/PageFramesHandler.d.ts +7 -0
- package/models/trace/handlers/PageFramesHandler.js +41 -0
- package/models/trace/handlers/PageFramesHandler.js.map +1 -0
- package/models/trace/handlers/PageLoadMetricsHandler.d.ts +0 -7
- package/models/trace/handlers/PageLoadMetricsHandler.js +2 -21
- package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
- package/models/trace/handlers/handlers-tsconfig.json +3 -0
- package/models/trace/helpers/Extensions.d.ts +2 -0
- package/models/trace/helpers/Extensions.js +22 -0
- package/models/trace/helpers/Extensions.js.map +1 -0
- package/models/trace/helpers/Trace.d.ts +4 -3
- package/models/trace/helpers/Trace.js +17 -3
- package/models/trace/helpers/Trace.js.map +1 -1
- package/models/trace/helpers/helpers-tsconfig.json +1 -0
- package/models/trace/helpers/helpers.d.ts +1 -0
- package/models/trace/helpers/helpers.js +1 -0
- package/models/trace/helpers/helpers.js.map +1 -1
- package/models/trace/root-causes/LayoutShift.d.ts +7 -1
- package/models/trace/root-causes/LayoutShift.js +19 -4
- package/models/trace/root-causes/LayoutShift.js.map +1 -1
- package/models/trace/root-causes/RootCauses.d.ts +1 -0
- package/models/trace/root-causes/RootCauses.js +1 -0
- package/models/trace/root-causes/RootCauses.js.map +1 -1
- package/models/trace/types/Extensions.d.ts +62 -0
- package/models/trace/types/Extensions.js +38 -0
- package/models/trace/types/Extensions.js.map +1 -0
- package/models/trace/types/File.d.ts +10 -3
- package/models/trace/types/File.js.map +1 -1
- package/models/trace/types/TraceEvents.d.ts +82 -14
- package/models/trace/types/TraceEvents.js +46 -9
- package/models/trace/types/TraceEvents.js.map +1 -1
- package/models/trace/types/types-tsconfig.json +1 -0
- package/models/trace/types/types.d.ts +1 -0
- package/models/trace/types/types.js +1 -0
- package/models/trace/types/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -427,6 +427,12 @@ export interface TraceEventFirstPaint extends TraceEventMark {
|
|
|
427
427
|
};
|
|
428
428
|
}
|
|
429
429
|
export type PageLoadEvent = TraceEventFirstContentfulPaint | TraceEventMarkDOMContent | TraceEventInteractiveTime | TraceEventLargestContentfulPaintCandidate | TraceEventLayoutShift | TraceEventFirstPaint | TraceEventMarkLoad | TraceEventNavigationStart;
|
|
430
|
+
export declare const MarkerName: readonly ["MarkDOMContent", "MarkLoad", "firstPaint", "firstContentfulPaint", "largestContentfulPaint::Candidate"];
|
|
431
|
+
interface MakerEvent extends TraceEventData {
|
|
432
|
+
name: typeof MarkerName[number];
|
|
433
|
+
}
|
|
434
|
+
export declare function isTraceEventMarkerEvent(event: TraceEventData): event is MakerEvent;
|
|
435
|
+
export declare function eventIsPageLoadEvent(event: TraceEventData): event is PageLoadEvent;
|
|
430
436
|
export interface TraceEventLargestContentfulPaintCandidate extends TraceEventMark {
|
|
431
437
|
name: 'largestContentfulPaint::Candidate';
|
|
432
438
|
args: TraceEventArgs & {
|
|
@@ -545,6 +551,7 @@ export interface TraceEventMarkDOMContent extends TraceEventInstant {
|
|
|
545
551
|
data?: TraceEventArgsData & {
|
|
546
552
|
frame: string;
|
|
547
553
|
isMainFrame: boolean;
|
|
554
|
+
isOutermostMainFrame?: boolean;
|
|
548
555
|
page: string;
|
|
549
556
|
};
|
|
550
557
|
};
|
|
@@ -556,6 +563,7 @@ export interface TraceEventMarkLoad extends TraceEventInstant {
|
|
|
556
563
|
frame: string;
|
|
557
564
|
isMainFrame: boolean;
|
|
558
565
|
page: string;
|
|
566
|
+
isOutermostMainFrame?: boolean;
|
|
559
567
|
};
|
|
560
568
|
};
|
|
561
569
|
}
|
|
@@ -837,7 +845,12 @@ export interface TraceEventPerformanceMeasureBegin extends TraceEventPairableUse
|
|
|
837
845
|
export type TraceEventPerformanceMeasureEnd = TraceEventPairableUserTiming & TraceEventPairableAsyncEnd;
|
|
838
846
|
export type TraceEventPerformanceMeasure = TraceEventPerformanceMeasureBegin | TraceEventPerformanceMeasureEnd;
|
|
839
847
|
export interface TraceEventPerformanceMark extends TraceEventUserTiming {
|
|
840
|
-
|
|
848
|
+
args: TraceEventArgs & {
|
|
849
|
+
data?: TraceEventArgsData & {
|
|
850
|
+
detail?: string;
|
|
851
|
+
};
|
|
852
|
+
};
|
|
853
|
+
ph: Phase.INSTANT | Phase.MARK | Phase.ASYNC_NESTABLE_INSTANT;
|
|
841
854
|
}
|
|
842
855
|
export interface TraceEventConsoleTimeBegin extends TraceEventPairableAsyncBegin {
|
|
843
856
|
cat: 'blink.console';
|
|
@@ -858,17 +871,6 @@ export interface TraceEventTimeStamp extends TraceEventData {
|
|
|
858
871
|
};
|
|
859
872
|
};
|
|
860
873
|
}
|
|
861
|
-
export interface TraceEventExtensionMeasureBegin extends TraceEventPerformanceMeasureBegin {
|
|
862
|
-
name: `devtools-entry-${string}`;
|
|
863
|
-
}
|
|
864
|
-
export interface TraceEventExtensionMeasureEnd extends TraceEventPerformanceMeasureEnd {
|
|
865
|
-
name: `devtools-entry-${string}`;
|
|
866
|
-
}
|
|
867
|
-
export interface TraceEventExtensionMark extends TraceEventPerformanceMark {
|
|
868
|
-
name: `devtools-entry-${string}`;
|
|
869
|
-
ph: Phase.INSTANT | Phase.MARK;
|
|
870
|
-
}
|
|
871
|
-
export type TraceEventExtensionMeasure = TraceEventExtensionMeasureBegin | TraceEventExtensionMeasureEnd;
|
|
872
874
|
/** ChromeFrameReporter args for PipelineReporter event.
|
|
873
875
|
Matching proto: https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto
|
|
874
876
|
*/
|
|
@@ -958,6 +960,7 @@ export interface TraceEventPipelineReporter extends TraceEventData {
|
|
|
958
960
|
}
|
|
959
961
|
export declare function isTraceEventPipelineReporter(event: TraceEventData): event is TraceEventPipelineReporter;
|
|
960
962
|
export interface SyntheticEventPair<T extends TraceEventPairableAsync = TraceEventPairableAsync> extends TraceEventData {
|
|
963
|
+
name: T['name'];
|
|
961
964
|
cat: T['cat'];
|
|
962
965
|
id?: string;
|
|
963
966
|
id2?: {
|
|
@@ -1117,9 +1120,48 @@ export interface SyntheticInvalidation extends TraceEventInstant {
|
|
|
1117
1120
|
stackTrace?: TraceEventCallFrame[];
|
|
1118
1121
|
}
|
|
1119
1122
|
export declare function isSyntheticInvalidation(event: TraceEventData): event is SyntheticInvalidation;
|
|
1123
|
+
export interface TraceEventDrawLazyPixelRef extends TraceEventInstant {
|
|
1124
|
+
name: KnownEventName.DrawLazyPixelRef;
|
|
1125
|
+
args?: TraceEventArgs & {
|
|
1126
|
+
LazyPixelRef: number;
|
|
1127
|
+
};
|
|
1128
|
+
}
|
|
1129
|
+
export declare function isTraceEventDrawLazyPixelRef(event: TraceEventData): event is TraceEventDrawLazyPixelRef;
|
|
1130
|
+
export interface TraceEventDecodeLazyPixelRef extends TraceEventInstant {
|
|
1131
|
+
name: KnownEventName.DecodeLazyPixelRef;
|
|
1132
|
+
args?: TraceEventArgs & {
|
|
1133
|
+
LazyPixelRef: number;
|
|
1134
|
+
};
|
|
1135
|
+
}
|
|
1136
|
+
export declare function isTraceEventDecodeLazyPixelRef(event: TraceEventData): event is TraceEventDecodeLazyPixelRef;
|
|
1137
|
+
export interface TraceEventDecodeImage extends TraceEventComplete {
|
|
1138
|
+
name: KnownEventName.DecodeImage;
|
|
1139
|
+
args: TraceEventArgs & {
|
|
1140
|
+
imageType: string;
|
|
1141
|
+
};
|
|
1142
|
+
}
|
|
1143
|
+
export declare function isTraceEventDecodeImage(event: TraceEventData): event is TraceEventDecodeImage;
|
|
1144
|
+
export interface SelectorTiming {
|
|
1145
|
+
'elapsed (us)': number;
|
|
1146
|
+
'fast_reject_count': number;
|
|
1147
|
+
'match_attempts': number;
|
|
1148
|
+
'selector': string;
|
|
1149
|
+
'style_sheet_id': string;
|
|
1150
|
+
}
|
|
1151
|
+
export interface SelectorStats {
|
|
1152
|
+
selector_timings: SelectorTiming[];
|
|
1153
|
+
}
|
|
1154
|
+
export interface TraceEventStyleRecalcSelectorStats extends TraceEventComplete {
|
|
1155
|
+
name: KnownEventName.SelectorStats;
|
|
1156
|
+
args: TraceEventArgs & {
|
|
1157
|
+
selector_stats?: SelectorStats;
|
|
1158
|
+
};
|
|
1159
|
+
}
|
|
1160
|
+
export declare function isStyleRecalcSelectorStats(event: TraceEventData): event is TraceEventStyleRecalcSelectorStats;
|
|
1120
1161
|
export interface TraceEventUpdateLayoutTree extends TraceEventComplete {
|
|
1121
1162
|
name: KnownEventName.UpdateLayoutTree;
|
|
1122
1163
|
args: TraceEventArgs & {
|
|
1164
|
+
selector_stats?: SelectorStats;
|
|
1123
1165
|
elementCount: number;
|
|
1124
1166
|
beginData?: {
|
|
1125
1167
|
frame: string;
|
|
@@ -1247,11 +1289,37 @@ export interface TraceEventPaint extends TraceEventComplete {
|
|
|
1247
1289
|
clip: number[];
|
|
1248
1290
|
frame: string;
|
|
1249
1291
|
layerId: number;
|
|
1250
|
-
nodeId
|
|
1292
|
+
nodeId?: Protocol.DOM.BackendNodeId;
|
|
1251
1293
|
};
|
|
1252
1294
|
};
|
|
1253
1295
|
}
|
|
1254
1296
|
export declare function isTraceEventPaint(event: TraceEventData): event is TraceEventPaint;
|
|
1297
|
+
export interface TraceEventPaintImage extends TraceEventComplete {
|
|
1298
|
+
name: KnownEventName.PaintImage;
|
|
1299
|
+
args: TraceEventArgs & {
|
|
1300
|
+
data: TraceEventData & {
|
|
1301
|
+
height: number;
|
|
1302
|
+
width: number;
|
|
1303
|
+
x: number;
|
|
1304
|
+
y: number;
|
|
1305
|
+
url?: string;
|
|
1306
|
+
srcHeight: number;
|
|
1307
|
+
srcWidth: number;
|
|
1308
|
+
nodeId?: Protocol.DOM.BackendNodeId;
|
|
1309
|
+
};
|
|
1310
|
+
};
|
|
1311
|
+
}
|
|
1312
|
+
export declare function isTraceEventPaintImage(event: TraceEventData): event is TraceEventPaintImage;
|
|
1313
|
+
export interface TraceEventScrollLayer extends TraceEventComplete {
|
|
1314
|
+
name: KnownEventName.ScrollLayer;
|
|
1315
|
+
args: TraceEventArgs & {
|
|
1316
|
+
data: TraceEventData & {
|
|
1317
|
+
frame: string;
|
|
1318
|
+
nodeId?: Protocol.DOM.BackendNodeId;
|
|
1319
|
+
};
|
|
1320
|
+
};
|
|
1321
|
+
}
|
|
1322
|
+
export declare function isTraceEventScrollLayer(event: TraceEventData): event is TraceEventScrollLayer;
|
|
1255
1323
|
export interface TraceEventSetLayerTreeId extends TraceEventInstant {
|
|
1256
1324
|
name: KnownEventName.SetLayerTreeId;
|
|
1257
1325
|
args: TraceEventArgs & {
|
|
@@ -1516,7 +1584,6 @@ export declare const enum KnownEventName {
|
|
|
1516
1584
|
V8Execute = "V8.Execute",
|
|
1517
1585
|
GC = "GCEvent",
|
|
1518
1586
|
DOMGC = "BlinkGC.AtomicPhase",
|
|
1519
|
-
IncrementalGCMarking = "V8.GCIncrementalMarking",
|
|
1520
1587
|
MajorGC = "MajorGC",
|
|
1521
1588
|
MinorGC = "MinorGC",
|
|
1522
1589
|
GCCollectGarbage = "BlinkGC.AtomicPhase",
|
|
@@ -1536,6 +1603,7 @@ export declare const enum KnownEventName {
|
|
|
1536
1603
|
ScheduleStyleInvalidationTracking = "ScheduleStyleInvalidationTracking",
|
|
1537
1604
|
StyleRecalcInvalidationTracking = "StyleRecalcInvalidationTracking",
|
|
1538
1605
|
StyleInvalidatorInvalidationTracking = "StyleInvalidatorInvalidationTracking",
|
|
1606
|
+
SelectorStats = "SelectorStats",
|
|
1539
1607
|
ScrollLayer = "ScrollLayer",
|
|
1540
1608
|
UpdateLayer = "UpdateLayer",
|
|
1541
1609
|
PaintSetup = "PaintSetup",
|
|
@@ -21,6 +21,25 @@ export function isTraceEventAuctionWorkletDoneWithProcess(event) {
|
|
|
21
21
|
export function isTraceEventScreenshot(event) {
|
|
22
22
|
return event.name === "Screenshot" /* KnownEventName.Screenshot */;
|
|
23
23
|
}
|
|
24
|
+
const markerTypeGuards = [
|
|
25
|
+
isTraceEventMarkDOMContent,
|
|
26
|
+
isTraceEventMarkLoad,
|
|
27
|
+
isTraceEventFirstPaint,
|
|
28
|
+
isTraceEventFirstContentfulPaint,
|
|
29
|
+
isTraceEventLargestContentfulPaintCandidate,
|
|
30
|
+
isTraceEventNavigationStart,
|
|
31
|
+
];
|
|
32
|
+
export const MarkerName = ['MarkDOMContent', 'MarkLoad', 'firstPaint', 'firstContentfulPaint', 'largestContentfulPaint::Candidate'];
|
|
33
|
+
export function isTraceEventMarkerEvent(event) {
|
|
34
|
+
return markerTypeGuards.some(fn => fn(event));
|
|
35
|
+
}
|
|
36
|
+
const pageLoadEventTypeGuards = [
|
|
37
|
+
...markerTypeGuards,
|
|
38
|
+
isTraceEventInteractiveTime,
|
|
39
|
+
];
|
|
40
|
+
export function eventIsPageLoadEvent(event) {
|
|
41
|
+
return pageLoadEventTypeGuards.some(fn => fn(event));
|
|
42
|
+
}
|
|
24
43
|
export function isTraceEventTracingSessionIdForWorker(event) {
|
|
25
44
|
return event.name === 'TracingSessionIdForWorker';
|
|
26
45
|
}
|
|
@@ -85,6 +104,18 @@ export function isTraceEventActivateLayerTree(event) {
|
|
|
85
104
|
export function isSyntheticInvalidation(event) {
|
|
86
105
|
return event.name === 'SyntheticInvalidation';
|
|
87
106
|
}
|
|
107
|
+
export function isTraceEventDrawLazyPixelRef(event) {
|
|
108
|
+
return event.name === "Draw LazyPixelRef" /* KnownEventName.DrawLazyPixelRef */;
|
|
109
|
+
}
|
|
110
|
+
export function isTraceEventDecodeLazyPixelRef(event) {
|
|
111
|
+
return event.name === "Decode LazyPixelRef" /* KnownEventName.DecodeLazyPixelRef */;
|
|
112
|
+
}
|
|
113
|
+
export function isTraceEventDecodeImage(event) {
|
|
114
|
+
return event.name === "Decode Image" /* KnownEventName.DecodeImage */;
|
|
115
|
+
}
|
|
116
|
+
export function isStyleRecalcSelectorStats(event) {
|
|
117
|
+
return event.name === "SelectorStats" /* KnownEventName.SelectorStats */;
|
|
118
|
+
}
|
|
88
119
|
export function isTraceEventUpdateLayoutTree(event) {
|
|
89
120
|
return event.name === "UpdateLayoutTree" /* KnownEventName.UpdateLayoutTree */;
|
|
90
121
|
}
|
|
@@ -300,16 +331,16 @@ export function isTraceEventTimeStamp(traceEventData) {
|
|
|
300
331
|
export function isTraceEventParseHTML(traceEventData) {
|
|
301
332
|
return traceEventData.name === 'ParseHTML';
|
|
302
333
|
}
|
|
334
|
+
const asyncPhases = new Set([
|
|
335
|
+
"b" /* Phase.ASYNC_NESTABLE_START */,
|
|
336
|
+
"n" /* Phase.ASYNC_NESTABLE_INSTANT */,
|
|
337
|
+
"e" /* Phase.ASYNC_NESTABLE_END */,
|
|
338
|
+
"T" /* Phase.ASYNC_STEP_INTO */,
|
|
339
|
+
"S" /* Phase.ASYNC_BEGIN */,
|
|
340
|
+
"F" /* Phase.ASYNC_END */,
|
|
341
|
+
"p" /* Phase.ASYNC_STEP_PAST */,
|
|
342
|
+
]);
|
|
303
343
|
export function isTraceEventAsyncPhase(traceEventData) {
|
|
304
|
-
const asyncPhases = new Set([
|
|
305
|
-
"b" /* Phase.ASYNC_NESTABLE_START */,
|
|
306
|
-
"n" /* Phase.ASYNC_NESTABLE_INSTANT */,
|
|
307
|
-
"e" /* Phase.ASYNC_NESTABLE_END */,
|
|
308
|
-
"T" /* Phase.ASYNC_STEP_INTO */,
|
|
309
|
-
"S" /* Phase.ASYNC_BEGIN */,
|
|
310
|
-
"F" /* Phase.ASYNC_END */,
|
|
311
|
-
"p" /* Phase.ASYNC_STEP_PAST */,
|
|
312
|
-
]);
|
|
313
344
|
return asyncPhases.has(traceEventData.ph);
|
|
314
345
|
}
|
|
315
346
|
export function isSyntheticLayoutShift(traceEventData) {
|
|
@@ -324,6 +355,12 @@ export function isProfileCall(event) {
|
|
|
324
355
|
export function isTraceEventPaint(event) {
|
|
325
356
|
return event.name === "Paint" /* KnownEventName.Paint */;
|
|
326
357
|
}
|
|
358
|
+
export function isTraceEventPaintImage(event) {
|
|
359
|
+
return event.name === "PaintImage" /* KnownEventName.PaintImage */;
|
|
360
|
+
}
|
|
361
|
+
export function isTraceEventScrollLayer(event) {
|
|
362
|
+
return event.name === "ScrollLayer" /* KnownEventName.ScrollLayer */;
|
|
363
|
+
}
|
|
327
364
|
export function isTraceEventSetLayerId(event) {
|
|
328
365
|
return event.name === "SetLayerTreeId" /* KnownEventName.SetLayerTreeId */;
|
|
329
366
|
}
|