@paulirish/trace_engine 0.0.41 → 0.0.43

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 (218) hide show
  1. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  2. package/generated/protocol.d.ts +79 -3
  3. package/locales/en-US.json +210 -0
  4. package/locales/en-XL.json +210 -0
  5. package/models/cpu_profile/CPUProfileDataModel.d.ts +7 -0
  6. package/models/cpu_profile/CPUProfileDataModel.js +9 -2
  7. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
  8. package/models/cpu_profile/ProfileTreeModel.d.ts +1 -1
  9. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  10. package/models/trace/LanternComputationData.d.ts +1 -1
  11. package/models/trace/LanternComputationData.js +8 -6
  12. package/models/trace/LanternComputationData.js.map +1 -1
  13. package/models/trace/Processor.d.ts +2 -16
  14. package/models/trace/Processor.js +6 -4
  15. package/models/trace/Processor.js.map +1 -1
  16. package/models/trace/extras/FilmStrip.d.ts +5 -5
  17. package/models/trace/extras/FilmStrip.js +2 -1
  18. package/models/trace/extras/FilmStrip.js.map +1 -1
  19. package/models/trace/extras/MainThreadActivity.d.ts +1 -1
  20. package/models/trace/extras/MainThreadActivity.js +3 -3
  21. package/models/trace/extras/MainThreadActivity.js.map +1 -1
  22. package/models/trace/extras/ThirdParties.d.ts +14 -13
  23. package/models/trace/extras/ThirdParties.js +51 -61
  24. package/models/trace/extras/ThirdParties.js.map +1 -1
  25. package/models/trace/extras/TimelineJSProfile.d.ts +1 -1
  26. package/models/trace/extras/TimelineJSProfile.js +9 -4
  27. package/models/trace/extras/TimelineJSProfile.js.map +1 -1
  28. package/models/trace/extras/TraceTree.d.ts +19 -6
  29. package/models/trace/extras/TraceTree.js +6 -3
  30. package/models/trace/extras/TraceTree.js.map +1 -1
  31. package/models/trace/extras/extras.d.ts +0 -1
  32. package/models/trace/extras/extras.js +0 -1
  33. package/models/trace/handlers/AnimationFramesHandler.js +1 -1
  34. package/models/trace/handlers/AnimationFramesHandler.js.map +1 -1
  35. package/models/trace/handlers/ExtensionTraceDataHandler.js +8 -2
  36. package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
  37. package/models/trace/handlers/FlowsHandler.js.map +1 -1
  38. package/models/trace/handlers/FramesHandler.d.ts +12 -12
  39. package/models/trace/handlers/FramesHandler.js +3 -3
  40. package/models/trace/handlers/FramesHandler.js.map +1 -1
  41. package/models/trace/handlers/LayoutShiftsHandler.d.ts +2 -2
  42. package/models/trace/handlers/LayoutShiftsHandler.js +25 -16
  43. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  44. package/models/trace/handlers/MetaHandler.d.ts +2 -2
  45. package/models/trace/handlers/MetaHandler.js +21 -21
  46. package/models/trace/handlers/MetaHandler.js.map +1 -1
  47. package/models/trace/handlers/NetworkRequestsHandler.js +37 -38
  48. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  49. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +6 -6
  50. package/models/trace/handlers/PageLoadMetricsHandler.js +9 -9
  51. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  52. package/models/trace/handlers/RendererHandler.d.ts +1 -1
  53. package/models/trace/handlers/RendererHandler.js +4 -4
  54. package/models/trace/handlers/RendererHandler.js.map +1 -1
  55. package/models/trace/handlers/SamplesHandler.d.ts +1 -1
  56. package/models/trace/handlers/SamplesHandler.js +50 -42
  57. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  58. package/models/trace/handlers/ScreenshotsHandler.d.ts +6 -3
  59. package/models/trace/handlers/ScreenshotsHandler.js +22 -8
  60. package/models/trace/handlers/ScreenshotsHandler.js.map +1 -1
  61. package/models/trace/handlers/ServerTimingsHandler.js +4 -4
  62. package/models/trace/handlers/ServerTimingsHandler.js.map +1 -1
  63. package/models/trace/handlers/Threads.js +3 -4
  64. package/models/trace/handlers/Threads.js.map +1 -1
  65. package/models/trace/handlers/UserInteractionsHandler.d.ts +2 -2
  66. package/models/trace/handlers/UserInteractionsHandler.js +12 -12
  67. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  68. package/models/trace/handlers/WarningsHandler.d.ts +2 -2
  69. package/models/trace/handlers/WarningsHandler.js +2 -2
  70. package/models/trace/handlers/WarningsHandler.js.map +1 -1
  71. package/models/trace/handlers/helpers.d.ts +3 -3
  72. package/models/trace/handlers/helpers.js +16 -19
  73. package/models/trace/handlers/helpers.js.map +1 -1
  74. package/models/trace/handlers/types.d.ts +1 -1
  75. package/models/trace/handlers/types.js.map +1 -1
  76. package/models/trace/helpers/SamplesIntegrator.d.ts +1 -1
  77. package/models/trace/helpers/SamplesIntegrator.js +54 -15
  78. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  79. package/models/trace/helpers/Timing.d.ts +23 -23
  80. package/models/trace/helpers/Timing.js +11 -11
  81. package/models/trace/helpers/Timing.js.map +1 -1
  82. package/models/trace/helpers/Trace.d.ts +15 -14
  83. package/models/trace/helpers/Trace.js +11 -5
  84. package/models/trace/helpers/Trace.js.map +1 -1
  85. package/models/trace/helpers/TreeHelpers.d.ts +2 -2
  86. package/models/trace/helpers/TreeHelpers.js +5 -5
  87. package/models/trace/helpers/TreeHelpers.js.map +1 -1
  88. package/models/trace/insights/CLSCulprits.d.ts +46 -1
  89. package/models/trace/insights/CLSCulprits.js +85 -10
  90. package/models/trace/insights/CLSCulprits.js.map +1 -1
  91. package/models/trace/insights/Common.d.ts +11 -7
  92. package/models/trace/insights/Common.js +85 -26
  93. package/models/trace/insights/Common.js.map +1 -1
  94. package/models/trace/insights/DOMSize.d.ts +26 -1
  95. package/models/trace/insights/DOMSize.js +44 -7
  96. package/models/trace/insights/DOMSize.js.map +1 -1
  97. package/models/trace/insights/DocumentLatency.d.ts +42 -5
  98. package/models/trace/insights/DocumentLatency.js +64 -8
  99. package/models/trace/insights/DocumentLatency.js.map +1 -1
  100. package/models/trace/insights/FontDisplay.d.ts +8 -2
  101. package/models/trace/insights/FontDisplay.js +10 -4
  102. package/models/trace/insights/FontDisplay.js.map +1 -1
  103. package/models/trace/insights/ForcedReflow.d.ts +30 -0
  104. package/models/trace/insights/ForcedReflow.js +181 -0
  105. package/models/trace/insights/ForcedReflow.js.map +1 -0
  106. package/models/trace/insights/ImageDelivery.d.ts +15 -1
  107. package/models/trace/insights/ImageDelivery.js +21 -1
  108. package/models/trace/insights/ImageDelivery.js.map +1 -1
  109. package/models/trace/insights/InteractionToNextPaint.d.ts +26 -1
  110. package/models/trace/insights/InteractionToNextPaint.js +27 -1
  111. package/models/trace/insights/InteractionToNextPaint.js.map +1 -1
  112. package/models/trace/insights/LCPDiscovery.d.ts +30 -6
  113. package/models/trace/insights/LCPDiscovery.js +36 -8
  114. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  115. package/models/trace/insights/LCPPhases.d.ts +36 -7
  116. package/models/trace/insights/LCPPhases.js +37 -8
  117. package/models/trace/insights/LCPPhases.js.map +1 -1
  118. package/models/trace/insights/LongCriticalNetworkTree.d.ts +22 -0
  119. package/models/trace/insights/LongCriticalNetworkTree.js +40 -0
  120. package/models/trace/insights/LongCriticalNetworkTree.js.map +1 -0
  121. package/models/trace/insights/Models.d.ts +2 -0
  122. package/models/trace/insights/Models.js +2 -0
  123. package/models/trace/insights/Models.js.map +1 -1
  124. package/models/trace/insights/RenderBlocking.d.ts +14 -1
  125. package/models/trace/insights/RenderBlocking.js +14 -1
  126. package/models/trace/insights/RenderBlocking.js.map +1 -1
  127. package/models/trace/insights/SlowCSSSelector.d.ts +27 -2
  128. package/models/trace/insights/SlowCSSSelector.js +27 -2
  129. package/models/trace/insights/SlowCSSSelector.js.map +1 -1
  130. package/models/trace/insights/ThirdParties.d.ts +13 -4
  131. package/models/trace/insights/ThirdParties.js +21 -12
  132. package/models/trace/insights/ThirdParties.js.map +1 -1
  133. package/models/trace/insights/Viewport.d.ts +2 -1
  134. package/models/trace/insights/Viewport.js +2 -1
  135. package/models/trace/insights/Viewport.js.map +1 -1
  136. package/models/trace/insights/insights-tsconfig.json +2 -0
  137. package/models/trace/insights/types.d.ts +27 -8
  138. package/models/trace/insights/types.js.map +1 -1
  139. package/models/trace/lantern/graph/BaseNode.d.ts +1 -1
  140. package/models/trace/lantern/graph/BaseNode.js +1 -1
  141. package/models/trace/lantern/graph/BaseNode.js.map +1 -1
  142. package/models/trace/lantern/graph/CPUNode.d.ts +1 -1
  143. package/models/trace/lantern/graph/CPUNode.js.map +1 -1
  144. package/models/trace/lantern/graph/NetworkNode.d.ts +1 -1
  145. package/models/trace/lantern/graph/NetworkNode.js.map +1 -1
  146. package/models/trace/lantern/metrics/FirstContentfulPaint.d.ts +1 -1
  147. package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -1
  148. package/models/trace/lantern/simulation/ConnectionPool.js +1 -1
  149. package/models/trace/lantern/simulation/ConnectionPool.js.map +1 -1
  150. package/models/trace/lantern/simulation/Simulator.d.ts +2 -2
  151. package/models/trace/lantern/simulation/Simulator.js +3 -3
  152. package/models/trace/lantern/simulation/Simulator.js.map +1 -1
  153. package/models/trace/lantern/types/Lantern.d.ts +2 -2
  154. package/models/trace/lantern/types/Lantern.js.map +1 -1
  155. package/models/trace/root-causes/LayoutShift.d.ts +1 -1
  156. package/models/trace/root-causes/LayoutShift.js +4 -4
  157. package/models/trace/root-causes/LayoutShift.js.map +1 -1
  158. package/models/trace/types/Configuration.d.ts +15 -0
  159. package/models/trace/types/Configuration.js.map +1 -1
  160. package/models/trace/types/File.d.ts +4 -4
  161. package/models/trace/types/File.js.map +1 -1
  162. package/models/trace/types/Timing.d.ts +7 -13
  163. package/models/trace/types/Timing.js +5 -2
  164. package/models/trace/types/Timing.js.map +1 -1
  165. package/models/trace/types/TraceEvents.d.ts +145 -110
  166. package/models/trace/types/TraceEvents.js +9 -7
  167. package/models/trace/types/TraceEvents.js.map +1 -1
  168. package/package.json +1 -1
  169. package/test/test-trace-engine.mjs +18 -14
  170. package/core/platform/PromiseUtilities.d.ts +0 -10
  171. package/core/platform/PromiseUtilities.js +0 -18
  172. package/core/platform/PromiseUtilities.js.map +0 -1
  173. package/core/platform/SetUtilities.d.ts +0 -2
  174. package/core/platform/SetUtilities.js +0 -23
  175. package/core/platform/SetUtilities.js.map +0 -1
  176. package/models/trace/EntriesFilter.d.ts +0 -72
  177. package/models/trace/EntriesFilter.js +0 -296
  178. package/models/trace/EntriesFilter.js.map +0 -1
  179. package/models/trace/LegacyTracingModel.js.map +0 -1
  180. package/models/trace/extras/URLForEntry.d.ts +0 -13
  181. package/models/trace/extras/URLForEntry.js +0 -44
  182. package/models/trace/extras/URLForEntry.js.map +0 -1
  183. package/models/trace/handlers/EnhancedTracesHandler.d.ts +0 -48
  184. package/models/trace/handlers/EnhancedTracesHandler.js +0 -165
  185. package/models/trace/handlers/EnhancedTracesHandler.js.map +0 -1
  186. package/models/trace/insights/CumulativeLayoutShift.d.ts +0 -34
  187. package/models/trace/insights/CumulativeLayoutShift.js +0 -209
  188. package/models/trace/insights/CumulativeLayoutShift.js.map +0 -1
  189. package/models/trace/insights/InsightRunners.d.ts +0 -6
  190. package/models/trace/insights/InsightRunners.js +0 -10
  191. package/models/trace/insights/InsightRunners.js.map +0 -1
  192. package/models/trace/insights/LargestContentfulPaint.d.ts +0 -25
  193. package/models/trace/insights/LargestContentfulPaint.js +0 -93
  194. package/models/trace/insights/LargestContentfulPaint.js.map +0 -1
  195. package/models/trace/lantern/BaseNode.d.ts +0 -91
  196. package/models/trace/lantern/BaseNode.js +0 -268
  197. package/models/trace/lantern/BaseNode.js.map +0 -1
  198. package/models/trace/lantern/CPUNode.d.ts +0 -24
  199. package/models/trace/lantern/CPUNode.js +0 -64
  200. package/models/trace/lantern/CPUNode.js.map +0 -1
  201. package/models/trace/lantern/LanternError.d.ts +0 -3
  202. package/models/trace/lantern/LanternError.js +0 -7
  203. package/models/trace/lantern/LanternError.js.map +0 -1
  204. package/models/trace/lantern/MetricsModule.d.ts +0 -11
  205. package/models/trace/lantern/MetricsModule.js +0 -14
  206. package/models/trace/lantern/MetricsModule.js.map +0 -1
  207. package/models/trace/lantern/NetworkNode.d.ts +0 -22
  208. package/models/trace/lantern/NetworkNode.js +0 -83
  209. package/models/trace/lantern/NetworkNode.js.map +0 -1
  210. package/models/trace/lantern/PageDependencyGraph.d.ts +0 -43
  211. package/models/trace/lantern/PageDependencyGraph.js +0 -509
  212. package/models/trace/lantern/PageDependencyGraph.js.map +0 -1
  213. package/models/trace/lantern/SimulationModule.d.ts +0 -17
  214. package/models/trace/lantern/SimulationModule.js +0 -13
  215. package/models/trace/lantern/SimulationModule.js.map +0 -1
  216. package/models/trace/lantern/simulation/NetworkAnalyzer.d.ts +0 -112
  217. package/models/trace/lantern/simulation/NetworkAnalyzer.js +0 -486
  218. package/models/trace/lantern/simulation/NetworkAnalyzer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/File.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2023 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nimport type * as SDK from '../../../core/sdk/sdk.js';\nimport type * as Protocol from '../../../generated/protocol.js';\nimport type * as CrUXManager from '../../../models/crux-manager/crux-manager.js';\n\nimport type {TraceWindowMicroSeconds} from './Timing.js';\nimport type {Event, LegacyTimelineFrame, ProcessID, SampleIndex, ThreadID} from './TraceEvents.js';\n\nexport interface TraceFile {\n traceEvents: readonly Event[];\n metadata: MetaData;\n}\n\nexport interface Breadcrumb {\n window: TraceWindowMicroSeconds;\n child: Breadcrumb|null;\n}\n\nexport const enum DataOrigin {\n CPU_PROFILE = 'CPUProfile',\n TRACE_EVENTS = 'TraceEvents',\n}\n\n/**\n * The Entries link can have 3 stated:\n * 1. The Link creation is not started yet, meaning only the button that needs to be clicked to start creating the link is visible.\n * 2. Pending to event - the creation is started, but the entry that the link points to has not been chosen yet\n * 3. Link connected - final state, both entries present\n */\nexport const enum EntriesLinkState {\n CREATION_NOT_STARTED = 'creation_not_started',\n PENDING_TO_EVENT = 'pending_to_event',\n CONNECTED = 'connected',\n}\n\nexport const enum EventKeyType {\n RAW_EVENT = 'r',\n SYNTHETIC_EVENT = 's',\n PROFILE_CALL = 'p',\n LEGACY_TIMELINE_FRAME = 'l',\n}\n\n/**\n * Represents an object that is saved in the file when user created annotations in the timeline.\n *\n * Expected to add more annotations.\n */\nexport interface SerializedAnnotations {\n entryLabels: EntryLabelAnnotationSerialized[];\n labelledTimeRanges: TimeRangeAnnotationSerialized[];\n linksBetweenEntries: EntriesLinkAnnotationSerialized[];\n}\n\n/**\n * Represents an object that is used to store the Entry Label annotation that is created when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotation {\n type: 'ENTRY_LABEL';\n entry: Event|LegacyTimelineFrame;\n label: string;\n}\n\n/**\n * Represents an object that is used to store the Labelled Time Range Annotation that is created when a user creates a Time Range Selection in the timeline.\n */\nexport interface TimeRangeAnnotation {\n type: 'TIME_RANGE';\n label: string;\n bounds: TraceWindowMicroSeconds;\n}\n\nexport interface EntriesLinkAnnotation {\n type: 'ENTRIES_LINK';\n state: EntriesLinkState;\n entryFrom: Event;\n entryTo?: Event;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotationSerialized {\n entry: SerializableKey;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a time range with a label in the timeline.\n */\nexport interface TimeRangeAnnotationSerialized {\n bounds: TraceWindowMicroSeconds;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a link between entries in the timeline.\n */\nexport interface EntriesLinkAnnotationSerialized {\n entryFrom: SerializableKey;\n entryTo: SerializableKey;\n}\n\n/**\n * `Annotation` are the user-created annotations that are saved into the metadata.\n * Those annotations are rendered on the timeline by `Overlays.ts`\n *\n * TODO: Implement other OverlayAnnotations (annotated time ranges, links between entries).\n * TODO: Save/load overlay annotations to/from the trace file.\n */\nexport type Annotation = EntryLabelAnnotation|TimeRangeAnnotation|EntriesLinkAnnotation;\n\nexport function isTimeRangeAnnotation(annotation: Annotation): annotation is TimeRangeAnnotation {\n return annotation.type === 'TIME_RANGE';\n}\n\nexport function isEntryLabelAnnotation(annotation: Annotation): annotation is EntryLabelAnnotation {\n return annotation.type === 'ENTRY_LABEL';\n}\n\nexport function isEntriesLinkAnnotation(annotation: Annotation): annotation is EntriesLinkAnnotation {\n return annotation.type === 'ENTRIES_LINK';\n}\n\n// Serializable keys are created for trace events to be able to save\n// references to timeline events in a trace file. These keys enable\n// user modifications that can be saved. See go/cpq:event-data-json for\n// more details on the key format.\nexport type RawEventKey = `${EventKeyType.RAW_EVENT}-${number}`;\nexport type SyntheticEventKey = `${EventKeyType.SYNTHETIC_EVENT}-${number}`;\nexport type ProfileCallKey = `${EventKeyType.PROFILE_CALL}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;\nexport type LegacyTimelineFrameKey = `${EventKeyType.LEGACY_TIMELINE_FRAME}-${number}`;\nexport type SerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey|LegacyTimelineFrameKey;\n\n// Serializable keys values objects contain data that maps the keys to original Trace Events\nexport interface RawEventKeyValues {\n type: EventKeyType.RAW_EVENT;\n rawIndex: number;\n}\n\nexport interface SyntheticEventKeyValues {\n type: EventKeyType.SYNTHETIC_EVENT;\n rawIndex: number;\n}\n\nexport interface ProfileCallKeyValues {\n type: EventKeyType.PROFILE_CALL;\n processID: ProcessID;\n threadID: ThreadID;\n sampleIndex: SampleIndex;\n protocol: Protocol.integer;\n}\n\nexport interface LegacyTimelineFrameKeyValues {\n type: EventKeyType.LEGACY_TIMELINE_FRAME;\n rawIndex: number;\n}\n\nexport type SerializableKeyValues =\n RawEventKeyValues|ProfileCallKeyValues|SyntheticEventKeyValues|LegacyTimelineFrameKeyValues;\n\nexport interface Modifications {\n entriesModifications: {\n // Entries hidden by the user\n hiddenEntries: SerializableKey[],\n // Entries that parent a hiddenEntry\n expandableEntries: SerializableKey[],\n };\n initialBreadcrumb: Breadcrumb;\n annotations: SerializedAnnotations;\n}\n\n/**\n * Trace metadata that we persist to the file. This will allow us to\n * store specifics for the trace, e.g., which tracks should be visible\n * on load.\n */\nexport interface MetaData {\n source?: 'DevTools';\n startTime?: string;\n emulatedDeviceTitle?: string;\n // Only set if network throttling is active.\n networkThrottling?: string;\n // Only set if network throttling is active.\n networkThrottlingConditions?: Omit<SDK.NetworkManager.Conditions, 'title'>;\n // Only set if CPU throttling is active.\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n enhancedTraceVersion?: number;\n modifications?: Modifications;\n cruxFieldData?: CrUXManager.PageResult[];\n}\n\nexport type Contents = TraceFile|Event[];\n\nexport function traceEventKeyToValues(key: SerializableKey): SerializableKeyValues {\n const parts = key.split('-');\n const type = parts[0];\n\n switch (type) {\n case EventKeyType.PROFILE_CALL:\n if (parts.length !== 5 ||\n !(parts.every((part, i) => i === 0 || typeof part === 'number' || !isNaN(parseInt(part, 10))))) {\n throw new Error(`Invalid ProfileCallKey: ${key}`);\n }\n return {\n type: parts[0],\n processID: parseInt(parts[1], 10),\n threadID: parseInt(parts[2], 10),\n sampleIndex: parseInt(parts[3], 10),\n protocol: parseInt(parts[4], 10),\n } as ProfileCallKeyValues;\n case EventKeyType.RAW_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid RawEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as RawEventKeyValues;\n case EventKeyType.SYNTHETIC_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid SyntheticEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as SyntheticEventKeyValues;\n case EventKeyType.LEGACY_TIMELINE_FRAME: {\n if (parts.length !== 2 || Number.isNaN(parseInt(parts[1], 10))) {\n throw new Error(`Invalid LegacyTimelineFrame Key: ${key}`);\n }\n return {\n type,\n rawIndex: parseInt(parts[1], 10),\n };\n }\n\n default:\n throw new Error(`Unknown trace event key: ${key}`);\n }\n}\n"]}
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/File.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2023 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nimport type * as SDK from '../../../core/sdk/sdk.js';\nimport type * as Protocol from '../../../generated/protocol.js';\nimport type * as CrUXManager from '../../../models/crux-manager/crux-manager.js';\n\nimport type {TraceWindowMicro} from './Timing.js';\nimport type {Event, LegacyTimelineFrame, ProcessID, SampleIndex, ThreadID} from './TraceEvents.js';\n\nexport interface TraceFile {\n traceEvents: readonly Event[];\n metadata: MetaData;\n}\n\nexport interface Breadcrumb {\n window: TraceWindowMicro;\n child: Breadcrumb|null;\n}\n\nexport const enum DataOrigin {\n CPU_PROFILE = 'CPUProfile',\n TRACE_EVENTS = 'TraceEvents',\n}\n\n/**\n * The Entries link can have 3 stated:\n * 1. The Link creation is not started yet, meaning only the button that needs to be clicked to start creating the link is visible.\n * 2. Pending to event - the creation is started, but the entry that the link points to has not been chosen yet\n * 3. Link connected - final state, both entries present\n */\nexport const enum EntriesLinkState {\n CREATION_NOT_STARTED = 'creation_not_started',\n PENDING_TO_EVENT = 'pending_to_event',\n CONNECTED = 'connected',\n}\n\nexport const enum EventKeyType {\n RAW_EVENT = 'r',\n SYNTHETIC_EVENT = 's',\n PROFILE_CALL = 'p',\n LEGACY_TIMELINE_FRAME = 'l',\n}\n\n/**\n * Represents an object that is saved in the file when user created annotations in the timeline.\n *\n * Expected to add more annotations.\n */\nexport interface SerializedAnnotations {\n entryLabels: EntryLabelAnnotationSerialized[];\n labelledTimeRanges: TimeRangeAnnotationSerialized[];\n linksBetweenEntries: EntriesLinkAnnotationSerialized[];\n}\n\n/**\n * Represents an object that is used to store the Entry Label annotation that is created when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotation {\n type: 'ENTRY_LABEL';\n entry: Event|LegacyTimelineFrame;\n label: string;\n}\n\n/**\n * Represents an object that is used to store the Labelled Time Range Annotation that is created when a user creates a Time Range Selection in the timeline.\n */\nexport interface TimeRangeAnnotation {\n type: 'TIME_RANGE';\n label: string;\n bounds: TraceWindowMicro;\n}\n\nexport interface EntriesLinkAnnotation {\n type: 'ENTRIES_LINK';\n state: EntriesLinkState;\n entryFrom: Event;\n entryTo?: Event;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabelAnnotationSerialized {\n entry: SerializableKey;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a time range with a label in the timeline.\n */\nexport interface TimeRangeAnnotationSerialized {\n bounds: TraceWindowMicro;\n label: string;\n}\n\n/**\n * Represents an object that is saved in the file when a user creates a link between entries in the timeline.\n */\nexport interface EntriesLinkAnnotationSerialized {\n entryFrom: SerializableKey;\n entryTo: SerializableKey;\n}\n\n/**\n * `Annotation` are the user-created annotations that are saved into the metadata.\n * Those annotations are rendered on the timeline by `Overlays.ts`\n *\n * TODO: Implement other OverlayAnnotations (annotated time ranges, links between entries).\n * TODO: Save/load overlay annotations to/from the trace file.\n */\nexport type Annotation = EntryLabelAnnotation|TimeRangeAnnotation|EntriesLinkAnnotation;\n\nexport function isTimeRangeAnnotation(annotation: Annotation): annotation is TimeRangeAnnotation {\n return annotation.type === 'TIME_RANGE';\n}\n\nexport function isEntryLabelAnnotation(annotation: Annotation): annotation is EntryLabelAnnotation {\n return annotation.type === 'ENTRY_LABEL';\n}\n\nexport function isEntriesLinkAnnotation(annotation: Annotation): annotation is EntriesLinkAnnotation {\n return annotation.type === 'ENTRIES_LINK';\n}\n\n// Serializable keys are created for trace events to be able to save\n// references to timeline events in a trace file. These keys enable\n// user modifications that can be saved. See go/cpq:event-data-json for\n// more details on the key format.\nexport type RawEventKey = `${EventKeyType.RAW_EVENT}-${number}`;\nexport type SyntheticEventKey = `${EventKeyType.SYNTHETIC_EVENT}-${number}`;\nexport type ProfileCallKey = `${EventKeyType.PROFILE_CALL}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;\nexport type LegacyTimelineFrameKey = `${EventKeyType.LEGACY_TIMELINE_FRAME}-${number}`;\nexport type SerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey|LegacyTimelineFrameKey;\n\n// Serializable keys values objects contain data that maps the keys to original Trace Events\nexport interface RawEventKeyValues {\n type: EventKeyType.RAW_EVENT;\n rawIndex: number;\n}\n\nexport interface SyntheticEventKeyValues {\n type: EventKeyType.SYNTHETIC_EVENT;\n rawIndex: number;\n}\n\nexport interface ProfileCallKeyValues {\n type: EventKeyType.PROFILE_CALL;\n processID: ProcessID;\n threadID: ThreadID;\n sampleIndex: SampleIndex;\n protocol: Protocol.integer;\n}\n\nexport interface LegacyTimelineFrameKeyValues {\n type: EventKeyType.LEGACY_TIMELINE_FRAME;\n rawIndex: number;\n}\n\nexport type SerializableKeyValues =\n RawEventKeyValues|ProfileCallKeyValues|SyntheticEventKeyValues|LegacyTimelineFrameKeyValues;\n\nexport interface Modifications {\n entriesModifications: {\n // Entries hidden by the user\n hiddenEntries: SerializableKey[],\n // Entries that parent a hiddenEntry\n expandableEntries: SerializableKey[],\n };\n initialBreadcrumb: Breadcrumb;\n annotations: SerializedAnnotations;\n}\n\n/**\n * Trace metadata that we persist to the file. This will allow us to\n * store specifics for the trace, e.g., which tracks should be visible\n * on load.\n */\nexport interface MetaData {\n source?: 'DevTools';\n startTime?: string;\n emulatedDeviceTitle?: string;\n // Only set if network throttling is active.\n networkThrottling?: string;\n // Only set if network throttling is active.\n networkThrottlingConditions?: Omit<SDK.NetworkManager.Conditions, 'title'>;\n // Only set if CPU throttling is active.\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n enhancedTraceVersion?: number;\n modifications?: Modifications;\n cruxFieldData?: CrUXManager.PageResult[];\n}\n\nexport type Contents = TraceFile|Event[];\n\nexport function traceEventKeyToValues(key: SerializableKey): SerializableKeyValues {\n const parts = key.split('-');\n const type = parts[0];\n\n switch (type) {\n case EventKeyType.PROFILE_CALL:\n if (parts.length !== 5 ||\n !(parts.every((part, i) => i === 0 || typeof part === 'number' || !isNaN(parseInt(part, 10))))) {\n throw new Error(`Invalid ProfileCallKey: ${key}`);\n }\n return {\n type: parts[0],\n processID: parseInt(parts[1], 10),\n threadID: parseInt(parts[2], 10),\n sampleIndex: parseInt(parts[3], 10),\n protocol: parseInt(parts[4], 10),\n } as ProfileCallKeyValues;\n case EventKeyType.RAW_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid RawEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as RawEventKeyValues;\n case EventKeyType.SYNTHETIC_EVENT:\n if (parts.length !== 2 || !(typeof parts[1] === 'number' || !isNaN(parseInt(parts[1], 10)))) {\n throw new Error(`Invalid SyntheticEvent Key: ${key}`);\n }\n return {\n type: parts[0],\n rawIndex: parseInt(parts[1], 10),\n } as SyntheticEventKeyValues;\n case EventKeyType.LEGACY_TIMELINE_FRAME: {\n if (parts.length !== 2 || Number.isNaN(parseInt(parts[1], 10))) {\n throw new Error(`Invalid LegacyTimelineFrame Key: ${key}`);\n }\n return {\n type,\n rawIndex: parseInt(parts[1], 10),\n };\n }\n\n default:\n throw new Error(`Unknown trace event key: ${key}`);\n }\n}\n"]}
@@ -1,25 +1,19 @@
1
- export type MicroSeconds = number & {
1
+ export type Micro = number & {
2
2
  _tag: 'MicroSeconds';
3
3
  };
4
- export declare function MicroSeconds(value: number): MicroSeconds;
5
- export type MilliSeconds = number & {
4
+ export declare function Micro(value: number): Micro;
5
+ export type Milli = number & {
6
6
  _tag: 'MilliSeconds';
7
7
  };
8
- export declare function MilliSeconds(value: number): MilliSeconds;
8
+ export declare function Milli(value: number): Milli;
9
9
  export type Seconds = number & {
10
10
  _tag: 'Seconds';
11
11
  };
12
12
  export declare function Seconds(value: number): Seconds;
13
- export declare const enum TimeUnit {
14
- MICROSECONDS = 0,
15
- MILLISECONDS = 1,
16
- SECONDS = 2,
17
- MINUTES = 3
18
- }
19
- export interface TraceWindow<TimeFormat extends MicroSeconds | MilliSeconds> {
13
+ export interface TraceWindow<TimeFormat extends Micro | Milli> {
20
14
  min: TimeFormat;
21
15
  max: TimeFormat;
22
16
  range: TimeFormat;
23
17
  }
24
- export type TraceWindowMicroSeconds = TraceWindow<MicroSeconds>;
25
- export type TraceWindowMilliSeconds = TraceWindow<MilliSeconds>;
18
+ export type TraceWindowMicro = TraceWindow<Micro>;
19
+ export type TraceWindowMilli = TraceWindow<Milli>;
@@ -1,12 +1,15 @@
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
- export function MicroSeconds(value) {
4
+ // eslint-disable-next-line @typescript-eslint/naming-convention
5
+ export function Micro(value) {
5
6
  return value;
6
7
  }
7
- export function MilliSeconds(value) {
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
+ export function Milli(value) {
8
10
  return value;
9
11
  }
12
+ // eslint-disable-next-line @typescript-eslint/naming-convention
10
13
  export function Seconds(value) {
11
14
  return value;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Timing.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Timing.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAK7B,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAqB,CAAC;AAC/B,CAAC;AAGD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAgB,CAAC;AAC1B,CAAC","sourcesContent":["// Copyright 2022 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nexport type MicroSeconds = number&{_tag: 'MicroSeconds'};\nexport function MicroSeconds(value: number): MicroSeconds {\n return value as MicroSeconds;\n}\n\nexport type MilliSeconds = number&{_tag: 'MilliSeconds'};\nexport function MilliSeconds(value: number): MilliSeconds {\n return value as MilliSeconds;\n}\nexport type Seconds = number&{_tag: 'Seconds'};\nexport function Seconds(value: number): Seconds {\n return value as Seconds;\n}\n\nexport const enum TimeUnit {\n MICROSECONDS = 0,\n MILLISECONDS = 1,\n SECONDS = 2,\n MINUTES = 3,\n}\n\n// Other types.\n\nexport interface TraceWindow<TimeFormat extends MicroSeconds|MilliSeconds> {\n min: TimeFormat;\n max: TimeFormat;\n range: TimeFormat;\n}\n\nexport type TraceWindowMicroSeconds = TraceWindow<MicroSeconds>;\nexport type TraceWindowMilliSeconds = TraceWindow<MilliSeconds>;\n"]}
1
+ {"version":3,"file":"Timing.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Timing.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAG7B,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,OAAO,KAAc,CAAC;AACxB,CAAC;AAGD,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,OAAO,KAAc,CAAC;AACxB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAgB,CAAC;AAC1B,CAAC","sourcesContent":["// Copyright 2022 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nexport type Micro = number&{_tag: 'MicroSeconds'};\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function Micro(value: number): Micro {\n return value as Micro;\n}\n\nexport type Milli = number&{_tag: 'MilliSeconds'};\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function Milli(value: number): Milli {\n return value as Milli;\n}\nexport type Seconds = number&{_tag: 'Seconds'};\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function Seconds(value: number): Seconds {\n return value as Seconds;\n}\n\nexport interface TraceWindow<TimeFormat extends Micro|Milli> {\n min: TimeFormat;\n max: TimeFormat;\n range: TimeFormat;\n}\n\nexport type TraceWindowMicro = TraceWindow<Micro>;\nexport type TraceWindowMilli = TraceWindow<Milli>;\n"]}
@@ -1,5 +1,5 @@
1
1
  import type * as Protocol from '../../../generated/protocol.js';
2
- import type { MicroSeconds, MilliSeconds, Seconds, TraceWindowMicroSeconds } from './Timing.js';
2
+ import type { Micro, Milli, Seconds, TraceWindowMicro } from './Timing.js';
3
3
  export declare const enum Phase {
4
4
  BEGIN = "B",
5
5
  END = "E",
@@ -26,9 +26,6 @@ export declare const enum Phase {
26
26
  MARK = "R",
27
27
  CLOCK_SYNC = "c"
28
28
  }
29
- export type NonEmptyString = string & {
30
- _tag: 'NonEmptyString';
31
- };
32
29
  export declare function isNestableAsyncPhase(phase: Phase): boolean;
33
30
  export declare function isPhaseAsync(phase: Phase): boolean;
34
31
  export declare function isFlowPhase(phase: Phase): boolean;
@@ -44,10 +41,10 @@ export interface Event {
44
41
  ph: Phase;
45
42
  pid: ProcessID;
46
43
  tid: ThreadID;
47
- tts?: MicroSeconds;
48
- ts: MicroSeconds;
49
- tdur?: MicroSeconds;
50
- dur?: MicroSeconds;
44
+ tts?: Micro;
45
+ ts: Micro;
46
+ tdur?: Micro;
47
+ dur?: Micro;
51
48
  }
52
49
  export interface Args {
53
50
  data?: ArgsData;
@@ -97,7 +94,7 @@ export interface Profile extends Sample {
97
94
  id: ProfileID;
98
95
  args: Args & {
99
96
  data: ArgsData & {
100
- startTime: MicroSeconds;
97
+ startTime: Micro;
101
98
  };
102
99
  };
103
100
  }
@@ -107,14 +104,20 @@ export interface ProfileChunk extends Sample {
107
104
  args: Args & {
108
105
  data?: ArgsData & {
109
106
  cpuProfile?: PartialProfile;
110
- timeDeltas?: MicroSeconds[];
111
- lines?: MicroSeconds[];
107
+ timeDeltas?: Micro[];
108
+ lines?: Micro[];
112
109
  };
113
110
  };
114
111
  }
115
112
  export interface PartialProfile {
116
113
  nodes?: PartialNode[];
117
114
  samples: CallFrameID[];
115
+ /**
116
+ * Contains trace ids assigned to samples, if any. Trace ids are
117
+ * keyed by the sample index in the profile (the keys of the object
118
+ * are strings containing the numeric index).
119
+ */
120
+ trace_ids?: Record<string, number>;
118
121
  }
119
122
  export interface PartialNode {
120
123
  callFrame: CallFrame;
@@ -123,7 +126,7 @@ export interface PartialNode {
123
126
  }
124
127
  export interface Complete extends Event {
125
128
  ph: Phase.COMPLETE;
126
- dur: MicroSeconds;
129
+ dur: Micro;
127
130
  }
128
131
  export interface RunTask extends Complete {
129
132
  name: Name.RUN_TASK;
@@ -133,7 +136,7 @@ export interface FireIdleCallback extends Complete {
133
136
  name: Name.FIRE_IDLE_CALLBACK;
134
137
  args: Args & {
135
138
  data: ArgsData & {
136
- allottedMilliseconds: MilliSeconds;
139
+ allottedMilliseconds: Milli;
137
140
  frame: string;
138
141
  id: number;
139
142
  timedOut: boolean;
@@ -199,17 +202,17 @@ export interface EventTimingBegin extends Event {
199
202
  args: Args & {
200
203
  data: ArgsData & {
201
204
  cancelable: boolean;
202
- duration: MilliSeconds;
205
+ duration: Milli;
203
206
  type: string;
204
207
  interactionId: number;
205
208
  interactionOffset: number;
206
209
  nodeId: Protocol.DOM.BackendNodeId;
207
210
  frame?: string;
208
- processingEnd?: MilliSeconds;
209
- processingStart?: MilliSeconds;
210
- timeStamp?: MilliSeconds;
211
- enqueuedToMainThreadTime?: MilliSeconds;
212
- commitFinishTime?: MilliSeconds;
211
+ processingEnd?: Milli;
212
+ processingStart?: Milli;
213
+ timeStamp?: Milli;
214
+ enqueuedToMainThreadTime?: Milli;
215
+ commitFinishTime?: Milli;
213
216
  };
214
217
  frame?: string;
215
218
  };
@@ -233,31 +236,31 @@ export interface SyntheticNetworkRedirect {
233
236
  url: string;
234
237
  priority: string;
235
238
  requestMethod?: string;
236
- ts: MicroSeconds;
237
- dur: MicroSeconds;
239
+ ts: Micro;
240
+ dur: Micro;
238
241
  }
239
242
  interface SyntheticArgsData {
240
- dnsLookup: MicroSeconds;
241
- download: MicroSeconds;
242
- downloadStart: MicroSeconds;
243
- finishTime: MicroSeconds;
244
- initialConnection: MicroSeconds;
243
+ dnsLookup: Micro;
244
+ download: Micro;
245
+ downloadStart: Micro;
246
+ finishTime: Micro;
247
+ initialConnection: Micro;
245
248
  isDiskCached: boolean;
246
249
  isHttps: boolean;
247
250
  isMemoryCached: boolean;
248
251
  isPushedResource: boolean;
249
- networkDuration: MicroSeconds;
250
- processingDuration: MicroSeconds;
251
- proxyNegotiation: MicroSeconds;
252
- queueing: MicroSeconds;
253
- redirectionDuration: MicroSeconds;
254
- requestSent: MicroSeconds;
255
- sendStartTime: MicroSeconds;
256
- ssl: MicroSeconds;
257
- stalled: MicroSeconds;
258
- totalTime: MicroSeconds;
252
+ networkDuration: Micro;
253
+ processingDuration: Micro;
254
+ proxyNegotiation: Micro;
255
+ queueing: Micro;
256
+ redirectionDuration: Micro;
257
+ requestSent: Micro;
258
+ sendStartTime: Micro;
259
+ ssl: Micro;
260
+ stalled: Micro;
261
+ totalTime: Micro;
259
262
  /** Server response time (receiveHeadersEnd - sendEnd) */
260
- waiting: MicroSeconds;
263
+ waiting: Micro;
261
264
  }
262
265
  export interface SyntheticNetworkRequest extends Complete, SyntheticBased<Phase.COMPLETE> {
263
266
  rawSourceEvent: ResourceSendRequest;
@@ -310,12 +313,12 @@ export interface SyntheticNetworkRequest extends Complete, SyntheticBased<Phase.
310
313
  };
311
314
  };
312
315
  cat: 'loading';
313
- name: 'SyntheticNetworkRequest';
316
+ name: Name.SYNTHETIC_NETWORK_REQUEST;
314
317
  ph: Phase.COMPLETE;
315
- dur: MicroSeconds;
316
- tdur: MicroSeconds;
317
- ts: MicroSeconds;
318
- tts: MicroSeconds;
318
+ dur: Micro;
319
+ tdur: Micro;
320
+ ts: Micro;
321
+ tts: Micro;
319
322
  pid: ProcessID;
320
323
  tid: ThreadID;
321
324
  }
@@ -331,8 +334,8 @@ export interface SyntheticWebSocketConnection extends Complete, SyntheticBased<P
331
334
  cat: string;
332
335
  name: 'SyntheticWebSocketConnection';
333
336
  ph: Phase.COMPLETE;
334
- dur: MicroSeconds;
335
- ts: MicroSeconds;
337
+ dur: Micro;
338
+ ts: Micro;
336
339
  pid: ProcessID;
337
340
  tid: ThreadID;
338
341
  s: Scope;
@@ -391,11 +394,26 @@ export interface AuctionWorkletDoneWithProcess extends Event {
391
394
  }
392
395
  export declare function isAuctionWorkletRunningInProcess(event: Event): event is AuctionWorkletRunningInProcess;
393
396
  export declare function isAuctionWorkletDoneWithProcess(event: Event): event is AuctionWorkletDoneWithProcess;
394
- export interface Screenshot extends Event {
397
+ /**
398
+ * In January 2025 when crrev.com/c/6197645 landed, it changed the format of screenshot events.
399
+ * That is why we two screenshot types:
400
+ * `LegacyScreenshot` and `LegacySyntheticScreenshot`: BEFORE the above CL.
401
+ * `Screenshot`: AFTER the above CL.
402
+ * Important things to note:
403
+ * 1. Both the "old" and "new" events share the name "Screenshot" but their format is very different.
404
+ * 2. The old events had both a raw event (LegacyScreenshot) and a synthetic
405
+ * event (LegacySyntheticScreenshot). The new events only have a raw event, as
406
+ * we do not need the additional complexity of a synthetic event.
407
+ * 3. Because we like to support "old" traces, DevTools will maintain its
408
+ * support for both screenshot events for the foreseeable future. If you are
409
+ * consuming screenshot events from the ScreenshotHandler, you must make sure
410
+ * to have your code deal with the two different formats.
411
+ */
412
+ export interface LegacyScreenshot extends Event {
395
413
  /**
396
414
  * @deprecated This value is incorrect. Use ScreenshotHandler.getPresentationTimestamp()
397
415
  */
398
- ts: MicroSeconds;
416
+ ts: Micro;
399
417
  /** The id is the frame sequence number in hex */
400
418
  id: string;
401
419
  args: Args & {
@@ -405,11 +423,13 @@ export interface Screenshot extends Event {
405
423
  cat: 'disabled-by-default-devtools.screenshot';
406
424
  ph: Phase.OBJECT_SNAPSHOT;
407
425
  }
426
+ export declare function isLegacyScreenshot(event: Event): event is LegacyScreenshot;
427
+ export declare function isLegacySyntheticScreenshot(event: Event): event is LegacySyntheticScreenshot;
408
428
  export declare function isScreenshot(event: Event): event is Screenshot;
409
- export interface SyntheticScreenshot extends Event, SyntheticBased {
410
- rawSourceEvent: Screenshot;
429
+ export interface LegacySyntheticScreenshot extends Event, SyntheticBased {
430
+ rawSourceEvent: LegacyScreenshot;
411
431
  /** This is the correct presentation timestamp. */
412
- ts: MicroSeconds;
432
+ ts: Micro;
413
433
  args: Args & {
414
434
  dataUri: string;
415
435
  };
@@ -417,6 +437,14 @@ export interface SyntheticScreenshot extends Event, SyntheticBased {
417
437
  cat: 'disabled-by-default-devtools.screenshot';
418
438
  ph: Phase.OBJECT_SNAPSHOT;
419
439
  }
440
+ export interface Screenshot extends Instant {
441
+ args: Args & {
442
+ snapshot: string;
443
+ source_id: number;
444
+ frame_sequence: number;
445
+ expected_display_time: number;
446
+ };
447
+ }
420
448
  export interface Animation extends Event {
421
449
  args: Args & {
422
450
  data: ArgsData & {
@@ -455,29 +483,30 @@ export interface ProcessName extends Metadata {
455
483
  export interface Mark extends Event {
456
484
  ph: Phase.MARK;
457
485
  }
458
- export interface NavigationStartUnreliable extends Mark {
486
+ export interface NavigationStart extends Mark {
459
487
  name: 'navigationStart';
460
488
  args: Args & {
489
+ frame: string;
461
490
  data?: ArgsData & {
462
- /** An empty documentLoaderURL means this navigationStart is unreliable noise and can be ignored. */
463
- documentLoaderURL: never;
491
+ /** Must be non-empty to be valid. An empty documentLoaderURL means the event can be ignored. */
492
+ documentLoaderURL: string;
464
493
  isLoadingMainFrame: boolean;
465
- isOutermostMainFrame?: boolean;
466
494
  navigationId: string;
495
+ /**
496
+ * `isOutermostMainFrame` was introduced in crrev.com/c/3625434 and exists because of Fenced Frames
497
+ * [github.com/WICG/fenced-frame/tree/master/explainer]. Fenced frames introduce a situation where
498
+ * `isLoadingMainFrame` could be true for a navigation, but that navigation be within an embedded "main frame", and
499
+ * therefore it wouldn't be on the top level main frame. In situations where we need to distinguish that, we can
500
+ * rely on `isOutermostMainFrame`, which will only be true for navigations on the top level main frame.
501
+ * This flag is optional as it was introduced in May 2022; so users reasonably may import traces from before that
502
+ * date that do not have this field present.
503
+ */
504
+ isOutermostMainFrame?: boolean;
467
505
  /**
468
506
  * @deprecated use documentLoaderURL for navigation events URLs
469
507
  */
470
508
  url?: string;
471
509
  };
472
- frame: string;
473
- };
474
- }
475
- export interface NavigationStart extends NavigationStartUnreliable {
476
- args: NavigationStartUnreliable['args'] & {
477
- data: NavigationStartUnreliable['args']['data'] & {
478
- /** This navigationStart is valid, as the documentLoaderURL isn't empty. */
479
- documentLoaderURL: NonEmptyString;
480
- };
481
510
  };
482
511
  }
483
512
  export interface FirstContentfulPaint extends Mark {
@@ -698,10 +727,10 @@ interface LayoutShiftSessionWindowData {
698
727
  export interface LayoutShiftParsedData {
699
728
  /** screenshot taken before and after this shift. Before *should* always exist, but after might not at the end of a trace. */
700
729
  screenshots: {
701
- before: SyntheticScreenshot | null;
702
- after: SyntheticScreenshot | null;
730
+ before: LegacySyntheticScreenshot | Screenshot | null;
731
+ after: LegacySyntheticScreenshot | Screenshot | null;
703
732
  };
704
- timeFromNavigation?: MicroSeconds;
733
+ timeFromNavigation?: Micro;
705
734
  cumulativeWeightedScoreInWindow: number;
706
735
  sessionWindowData: LayoutShiftSessionWindowData;
707
736
  }
@@ -729,18 +758,18 @@ export type NavigationId = string | typeof NO_NAVIGATION;
729
758
  */
730
759
  export interface SyntheticLayoutShiftCluster {
731
760
  name: 'SyntheticLayoutShiftCluster';
732
- clusterWindow: TraceWindowMicroSeconds;
761
+ clusterWindow: TraceWindowMicro;
733
762
  clusterCumulativeScore: number;
734
763
  events: SyntheticLayoutShift[];
735
764
  scoreWindows: {
736
- good: TraceWindowMicroSeconds;
737
- needsImprovement?: TraceWindowMicroSeconds;
738
- bad?: TraceWindowMicroSeconds;
765
+ good: TraceWindowMicro;
766
+ needsImprovement?: TraceWindowMicro;
767
+ bad?: TraceWindowMicro;
739
768
  };
740
769
  navigationId?: NavigationId;
741
770
  worstShiftEvent?: Event;
742
- ts: MicroSeconds;
743
- dur: MicroSeconds;
771
+ ts: Micro;
772
+ dur: Micro;
744
773
  cat: '';
745
774
  ph: Phase.COMPLETE;
746
775
  pid: ProcessID;
@@ -816,24 +845,24 @@ export interface ResourceReceivedData extends Instant {
816
845
  }
817
846
  /** See https://mdn.github.io/shared-assets/images/diagrams/api/performance/timestamp-diagram.svg */
818
847
  interface ResourceReceiveResponseTimingData {
819
- connectEnd: MilliSeconds;
820
- connectStart: MilliSeconds;
821
- dnsEnd: MilliSeconds;
822
- dnsStart: MilliSeconds;
823
- proxyEnd: MilliSeconds;
824
- proxyStart: MilliSeconds;
825
- pushEnd: MilliSeconds;
826
- pushStart: MilliSeconds;
827
- receiveHeadersEnd: MilliSeconds;
828
- receiveHeadersStart: MilliSeconds;
848
+ connectEnd: Milli;
849
+ connectStart: Milli;
850
+ dnsEnd: Milli;
851
+ dnsStart: Milli;
852
+ proxyEnd: Milli;
853
+ proxyStart: Milli;
854
+ pushEnd: Milli;
855
+ pushStart: Milli;
856
+ receiveHeadersEnd: Milli;
857
+ receiveHeadersStart: Milli;
829
858
  /** When the network service is about to handle a request, ie. just before going to the HTTP cache or going to the network for DNS/connection setup. */
830
859
  requestTime: Seconds;
831
- sendEnd: MilliSeconds;
832
- sendStart: MilliSeconds;
833
- sslEnd: MilliSeconds;
834
- sslStart: MilliSeconds;
835
- workerReady: MilliSeconds;
836
- workerStart: MilliSeconds;
860
+ sendEnd: Milli;
861
+ sendStart: Milli;
862
+ sslEnd: Milli;
863
+ sslStart: Milli;
864
+ workerReady: Milli;
865
+ workerStart: Milli;
837
866
  }
838
867
  export interface ResourceReceiveResponse extends Instant {
839
868
  name: 'ResourceReceiveResponse';
@@ -853,7 +882,7 @@ export interface ResourceReceiveResponse extends Instant {
853
882
  fromServiceWorker: boolean;
854
883
  mimeType: string;
855
884
  requestId: string;
856
- responseTime: MilliSeconds;
885
+ responseTime: Milli;
857
886
  statusCode: number;
858
887
  timing?: ResourceReceiveResponseTimingData;
859
888
  connectionId: number;
@@ -1067,7 +1096,7 @@ export interface PerformanceMeasureBegin extends PairableUserTiming {
1067
1096
  args: Args & {
1068
1097
  detail?: string;
1069
1098
  stackTrace?: CallFrame[];
1070
- callTime?: MicroSeconds;
1099
+ callTime?: Micro;
1071
1100
  };
1072
1101
  ph: Phase.ASYNC_NESTABLE_START;
1073
1102
  }
@@ -1078,7 +1107,7 @@ export interface PerformanceMark extends UserTiming {
1078
1107
  data?: ArgsData & {
1079
1108
  detail?: string;
1080
1109
  stackTrace?: CallFrame[];
1081
- callTime?: MicroSeconds;
1110
+ callTime?: Micro;
1082
1111
  };
1083
1112
  };
1084
1113
  ph: Phase.INSTANT | Phase.MARK | Phase.ASYNC_NESTABLE_INSTANT;
@@ -1095,13 +1124,14 @@ export interface ConsoleTimeStamp extends Event {
1095
1124
  name: Name.CONSOLE_TIME_STAMP;
1096
1125
  ph: Phase.COMPLETE;
1097
1126
  args: Args & {
1098
- data: ArgsData & {
1127
+ data?: ArgsData & {
1099
1128
  name: string | number;
1100
1129
  start?: string | number;
1101
1130
  end?: string | number;
1102
1131
  track?: string | number;
1103
1132
  trackGroup?: string | number;
1104
1133
  color?: string | number;
1134
+ sampleTraceId?: number;
1105
1135
  };
1106
1136
  };
1107
1137
  }
@@ -1121,7 +1151,7 @@ interface ChromeFrameReporter {
1121
1151
  /** Identifies a BeginFrameArgs (along with the source_id).
1122
1152
  See comments in components/viz/common/frame_sinks/begin_frame_args.h. */
1123
1153
  frame_sequence: number;
1124
- /** If this is a droped frame (i.e. if |state| is set to |STATE_DROPPED| or
1154
+ /** If this is a dropped frame (i.e. if |state| is set to |STATE_DROPPED| or
1125
1155
  |STATE_PRESENTED_PARTIAL|), then indicates whether this frame impacts smoothness. */
1126
1156
  affects_smoothness: boolean;
1127
1157
  /** The type of active scroll. */
@@ -1212,7 +1242,7 @@ export interface SyntheticEventPair<T extends PairableAsync = PairableAsync> ext
1212
1242
  local?: string;
1213
1243
  global?: string;
1214
1244
  };
1215
- dur: MicroSeconds;
1245
+ dur: Micro;
1216
1246
  args: Args & {
1217
1247
  data: {
1218
1248
  beginEvent: T & PairableAsyncBegin;
@@ -1229,20 +1259,20 @@ export type SyntheticAnimationPair = SyntheticEventPair<Animation>;
1229
1259
  export interface SyntheticInteractionPair extends SyntheticEventPair<EventTimingBeginOrEnd> {
1230
1260
  interactionId: number;
1231
1261
  type: string;
1232
- ts: MicroSeconds;
1233
- dur: MicroSeconds;
1234
- processingStart: MicroSeconds;
1235
- processingEnd: MicroSeconds;
1236
- inputDelay: MicroSeconds;
1237
- mainThreadHandling: MicroSeconds;
1238
- presentationDelay: MicroSeconds;
1262
+ ts: Micro;
1263
+ dur: Micro;
1264
+ processingStart: Micro;
1265
+ processingEnd: Micro;
1266
+ inputDelay: Micro;
1267
+ mainThreadHandling: Micro;
1268
+ presentationDelay: Micro;
1239
1269
  }
1240
1270
  /**
1241
1271
  * A profile call created in the frontend from samples disguised as a
1242
1272
  * trace event.
1243
1273
  *
1244
1274
  * We store the sampleIndex, profileId and nodeId so that we can easily link
1245
- * back a Synthetic Trace Entry to an indivdual Sample trace event within a
1275
+ * back a Synthetic Trace Entry to an individual Sample trace event within a
1246
1276
  * Profile.
1247
1277
  *
1248
1278
  * Because a sample contains a set of call frames representing the stack at the
@@ -1281,6 +1311,7 @@ export interface SyntheticJSSample extends Event {
1281
1311
  name: Name.JS_SAMPLE;
1282
1312
  args: Args & {
1283
1313
  data: ArgsData & {
1314
+ traceId?: number;
1284
1315
  stackTrace: Protocol.Runtime.CallFrame[];
1285
1316
  };
1286
1317
  };
@@ -1532,8 +1563,6 @@ export declare function isProcessName(event: Event): event is ProcessName;
1532
1563
  export declare function isTracingStartedInBrowser(event: Event): event is TracingStartedInBrowser;
1533
1564
  export declare function isFrameCommittedInBrowser(event: Event): event is FrameCommittedInBrowser;
1534
1565
  export declare function isCommitLoad(event: Event): event is CommitLoad;
1535
- /** @deprecated You probably want `isNavigationStart` instead. */
1536
- export declare function isNavigationStartUnreliable(event: Event): event is NavigationStartUnreliable;
1537
1566
  export declare function isAnimation(event: Event): event is Animation;
1538
1567
  export declare function isSyntheticAnimation(event: Event): event is SyntheticAnimationPair;
1539
1568
  export declare function isLayoutShift(event: Event): event is LayoutShift;
@@ -1896,7 +1925,7 @@ export interface SchedulePostTaskCallback extends Instant {
1896
1925
  data: {
1897
1926
  taskId: number;
1898
1927
  priority: 'user-blocking' | 'user-visible' | 'background';
1899
- delay: MilliSeconds;
1928
+ delay: Milli;
1900
1929
  frame?: string;
1901
1930
  stackTrace?: CallFrame;
1902
1931
  };
@@ -1909,7 +1938,7 @@ export interface RunPostTaskCallback extends Complete {
1909
1938
  data: {
1910
1939
  taskId: number;
1911
1940
  priority: 'user-blocking' | 'user-visible' | 'background';
1912
- delay: MilliSeconds;
1941
+ delay: Milli;
1913
1942
  frame?: string;
1914
1943
  };
1915
1944
  };
@@ -1934,6 +1963,11 @@ export declare function isAbortPostTaskCallback(event: Event): event is RunPostT
1934
1963
  */
1935
1964
  export declare function isJSInvocationEvent(event: Event): boolean;
1936
1965
  export interface ConsoleRunTask extends Event {
1966
+ args: Args & {
1967
+ data: ArgsData & {
1968
+ sampleTraceId?: number;
1969
+ };
1970
+ };
1937
1971
  name: Name.V8_CONSOLE_RUN_TASK;
1938
1972
  }
1939
1973
  export declare function isConsoleRunTask(event: Event): event is ConsoleRunTask;
@@ -2113,7 +2147,8 @@ export declare const enum Name {
2113
2147
  DOM_LOADING = "domLoading",
2114
2148
  BEGIN_REMOTE_FONT_LOAD = "BeginRemoteFontLoad",
2115
2149
  ANIMATION_FRAME = "AnimationFrame",
2116
- ANIMATION_FRAME_PRESENTATION = "AnimationFrame::Presentation"
2150
+ ANIMATION_FRAME_PRESENTATION = "AnimationFrame::Presentation",
2151
+ SYNTHETIC_NETWORK_REQUEST = "SyntheticNetworkRequest"
2117
2152
  }
2118
2153
  export declare const Categories: {
2119
2154
  readonly Console: "blink.console";
@@ -2135,10 +2170,10 @@ export declare const Categories: {
2135
2170
  * handlers.
2136
2171
  */
2137
2172
  export interface LegacyTimelineFrame extends Event {
2138
- startTime: MicroSeconds;
2139
- startTimeOffset: MicroSeconds;
2140
- endTime: MicroSeconds;
2141
- duration: MicroSeconds;
2173
+ startTime: Micro;
2174
+ startTimeOffset: Micro;
2175
+ endTime: Micro;
2176
+ duration: Micro;
2142
2177
  idle: boolean;
2143
2178
  dropped: boolean;
2144
2179
  isPartial: boolean;