@paulirish/trace_engine 0.0.25 → 0.0.26

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 (134) hide show
  1. package/core/platform/TypedArrayUtilities.d.ts +7 -0
  2. package/core/platform/TypedArrayUtilities.js +41 -0
  3. package/core/platform/TypedArrayUtilities.js.map +1 -1
  4. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  5. package/core/platform/platform-tsconfig.json +0 -1
  6. package/generated/protocol.d.ts +36 -2
  7. package/models/cpu_profile/cpu_profile-tsconfig.json +0 -1
  8. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  9. package/models/trace/LanternComputationData.d.ts +8 -0
  10. package/models/trace/LanternComputationData.js +368 -0
  11. package/models/trace/LanternComputationData.js.map +1 -0
  12. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  13. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  14. package/models/trace/extras/extras-tsconfig.json +0 -1
  15. package/models/trace/handlers/EnhancedTracesHandler.d.ts +46 -0
  16. package/models/trace/handlers/EnhancedTracesHandler.js +137 -0
  17. package/models/trace/handlers/EnhancedTracesHandler.js.map +1 -0
  18. package/models/trace/handlers/LayoutShiftsHandler.d.ts +1 -1
  19. package/models/trace/handlers/LayoutShiftsHandler.js +1 -1
  20. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  21. package/models/trace/handlers/ModelHandlers.d.ts +1 -0
  22. package/models/trace/handlers/ModelHandlers.js +1 -0
  23. package/models/trace/handlers/ModelHandlers.js.map +1 -1
  24. package/models/trace/handlers/UserInteractionsHandler.d.ts +6 -0
  25. package/models/trace/handlers/UserInteractionsHandler.js +15 -0
  26. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  27. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  28. package/models/trace/handlers/handlers-tsconfig.json +1 -1
  29. package/models/trace/helpers/Timing.d.ts +0 -6
  30. package/models/trace/helpers/Timing.js +0 -76
  31. package/models/trace/helpers/Timing.js.map +1 -1
  32. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  33. package/models/trace/helpers/helpers-tsconfig.json +0 -1
  34. package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  35. package/models/trace/insights/insights-tsconfig.json +0 -1
  36. package/models/trace/lantern/BaseNode.d.ts +91 -0
  37. package/models/trace/lantern/BaseNode.js +268 -0
  38. package/models/trace/lantern/BaseNode.js.map +1 -0
  39. package/models/trace/lantern/CPUNode.d.ts +24 -0
  40. package/models/trace/lantern/CPUNode.js +64 -0
  41. package/models/trace/lantern/CPUNode.js.map +1 -0
  42. package/models/trace/lantern/LanternError.d.ts +3 -0
  43. package/models/trace/lantern/LanternError.js +7 -0
  44. package/models/trace/lantern/LanternError.js.map +1 -0
  45. package/models/trace/lantern/MetricsModule.d.ts +11 -0
  46. package/models/trace/lantern/MetricsModule.js +14 -0
  47. package/models/trace/lantern/MetricsModule.js.map +1 -0
  48. package/models/trace/lantern/NetworkNode.d.ts +22 -0
  49. package/models/trace/lantern/NetworkNode.js +83 -0
  50. package/models/trace/lantern/NetworkNode.js.map +1 -0
  51. package/models/trace/lantern/PageDependencyGraph.d.ts +43 -0
  52. package/models/trace/lantern/PageDependencyGraph.js +509 -0
  53. package/models/trace/lantern/PageDependencyGraph.js.map +1 -0
  54. package/models/trace/lantern/SimulationModule.d.ts +17 -0
  55. package/models/trace/lantern/SimulationModule.js +13 -0
  56. package/models/trace/lantern/SimulationModule.js.map +1 -0
  57. package/models/trace/lantern/bundle-tsconfig.json +1 -0
  58. package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +42 -0
  59. package/models/trace/lantern/lantern-tsconfig.json +64 -0
  60. package/models/trace/lantern/lantern.d.ts +29 -0
  61. package/models/trace/lantern/lantern.js +33 -0
  62. package/models/trace/lantern/lantern.js.map +1 -0
  63. package/models/trace/lantern/metrics/FirstContentfulPaint.d.ts +42 -0
  64. package/models/trace/lantern/metrics/FirstContentfulPaint.js +137 -0
  65. package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -0
  66. package/models/trace/lantern/metrics/Interactive.d.ts +12 -0
  67. package/models/trace/lantern/metrics/Interactive.js +68 -0
  68. package/models/trace/lantern/metrics/Interactive.js.map +1 -0
  69. package/models/trace/lantern/metrics/LargestContentfulPaint.d.ts +16 -0
  70. package/models/trace/lantern/metrics/LargestContentfulPaint.js +70 -0
  71. package/models/trace/lantern/metrics/LargestContentfulPaint.js.map +1 -0
  72. package/models/trace/lantern/metrics/MaxPotentialFID.d.ts +14 -0
  73. package/models/trace/lantern/metrics/MaxPotentialFID.js +49 -0
  74. package/models/trace/lantern/metrics/MaxPotentialFID.js.map +1 -0
  75. package/models/trace/lantern/metrics/Metric.d.ts +26 -0
  76. package/models/trace/lantern/metrics/Metric.js +71 -0
  77. package/models/trace/lantern/metrics/Metric.js.map +1 -0
  78. package/models/trace/lantern/metrics/SpeedIndex.d.ts +25 -0
  79. package/models/trace/lantern/metrics/SpeedIndex.js +102 -0
  80. package/models/trace/lantern/metrics/SpeedIndex.js.map +1 -0
  81. package/models/trace/lantern/metrics/TBTUtils.d.ts +31 -0
  82. package/models/trace/lantern/metrics/TBTUtils.js +65 -0
  83. package/models/trace/lantern/metrics/TBTUtils.js.map +1 -0
  84. package/models/trace/lantern/metrics/TotalBlockingTime.d.ts +16 -0
  85. package/models/trace/lantern/metrics/TotalBlockingTime.js +79 -0
  86. package/models/trace/lantern/metrics/TotalBlockingTime.js.map +1 -0
  87. package/models/trace/lantern/metrics/metrics.d.ts +15 -0
  88. package/models/trace/lantern/metrics/metrics.js +12 -0
  89. package/models/trace/lantern/metrics/metrics.js.map +1 -0
  90. package/models/trace/lantern/simulation/ConnectionPool.d.ts +26 -0
  91. package/models/trace/lantern/simulation/ConnectionPool.js +116 -0
  92. package/models/trace/lantern/simulation/ConnectionPool.js.map +1 -0
  93. package/models/trace/lantern/simulation/Constants.d.ts +31 -0
  94. package/models/trace/lantern/simulation/Constants.js +43 -0
  95. package/models/trace/lantern/simulation/Constants.js.map +1 -0
  96. package/models/trace/lantern/simulation/DNSCache.d.ts +22 -0
  97. package/models/trace/lantern/simulation/DNSCache.js +48 -0
  98. package/models/trace/lantern/simulation/DNSCache.js.map +1 -0
  99. package/models/trace/lantern/simulation/NetworkAnalyzer.d.ts +112 -0
  100. package/models/trace/lantern/simulation/NetworkAnalyzer.js +486 -0
  101. package/models/trace/lantern/simulation/NetworkAnalyzer.js.map +1 -0
  102. package/models/trace/lantern/simulation/SimulationTimingMap.d.ts +71 -0
  103. package/models/trace/lantern/simulation/SimulationTimingMap.js +134 -0
  104. package/models/trace/lantern/simulation/SimulationTimingMap.js.map +1 -0
  105. package/models/trace/lantern/simulation/Simulator.d.ts +82 -0
  106. package/models/trace/lantern/simulation/Simulator.js +449 -0
  107. package/models/trace/lantern/simulation/Simulator.js.map +1 -0
  108. package/models/trace/lantern/simulation/TCPConnection.d.ts +48 -0
  109. package/models/trace/lantern/simulation/TCPConnection.js +158 -0
  110. package/models/trace/lantern/simulation/TCPConnection.js.map +1 -0
  111. package/models/trace/lantern/simulation/simulation.d.ts +21 -0
  112. package/models/trace/lantern/simulation/simulation.js +11 -0
  113. package/models/trace/lantern/simulation/simulation.js.map +1 -0
  114. package/models/trace/lantern/types/lantern.d.ts +205 -0
  115. package/models/trace/lantern/types/lantern.js +5 -0
  116. package/models/trace/lantern/types/lantern.js.map +1 -0
  117. package/models/trace/root-causes/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  118. package/models/trace/root-causes/root-causes-tsconfig.json +0 -1
  119. package/models/trace/trace-tsconfig.json +4 -1
  120. package/models/trace/trace.d.ts +3 -1
  121. package/models/trace/trace.js +3 -1
  122. package/models/trace/trace.js.map +1 -1
  123. package/models/trace/types/Extensions.d.ts +2 -3
  124. package/models/trace/types/Extensions.js +2 -11
  125. package/models/trace/types/Extensions.js.map +1 -1
  126. package/models/trace/types/File.d.ts +1 -0
  127. package/models/trace/types/File.js.map +1 -1
  128. package/models/trace/types/TraceEvents.d.ts +49 -0
  129. package/models/trace/types/TraceEvents.js +33 -0
  130. package/models/trace/types/TraceEvents.js.map +1 -1
  131. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -1
  132. package/models/trace/types/types-tsconfig.json +0 -1
  133. package/package.json +1 -1
  134. package/PAUL.readme.md +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/File.ts"],"names":[],"mappings":"AAsFA,MAAM,UAAU,qBAAqB,CAAC,GAA8B;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,QAAQ,IAAI,EAAE,CAAC;QACb;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAChC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACT,CAAC;QAC5B;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,CAAC;QACzB;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACN,CAAC;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC","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.\nimport type * as Protocol from '../../../generated/protocol.js';\n\nimport {type TraceWindowMicroSeconds} from './Timing.js';\nimport {type ProcessID, type SampleIndex, type ThreadID, type TraceEventData} from './TraceEvents.js';\n\nexport type TraceFile = {\n traceEvents: readonly TraceEventData[],\n metadata: MetaData,\n};\n\nexport interface Breadcrumb {\n window: TraceWindowMicroSeconds;\n child: Breadcrumb|null;\n}\n\nexport const enum DataOrigin {\n CPUProfile = 'CPUProfile',\n TraceEvents = 'TraceEvents',\n}\n\nexport const enum EventKeyType {\n RawEvent = 'r',\n SyntheticEvent = 's',\n ProfileCall = 'p',\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.RawEvent}-${number}`;\nexport type SyntheticEventKey = `${EventKeyType.SyntheticEvent}-${number}`;\nexport type ProfileCallKey = `${EventKeyType.ProfileCall}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;\nexport type TraceEventSerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey;\n\n// Serializable keys values objects contain data that maps the keys to original Trace Events\nexport type RawEventKeyValues = {\n type: EventKeyType.RawEvent,\n rawIndex: number,\n};\n\nexport type SyntheticEventKeyValues = {\n type: EventKeyType.SyntheticEvent,\n rawIndex: number,\n};\n\nexport type ProfileCallKeyValues = {\n type: EventKeyType.ProfileCall,\n processID: ProcessID,\n threadID: ThreadID,\n sampleIndex: SampleIndex,\n protocol: Protocol.integer,\n};\n\nexport type TraceEventSerializableKeyValues = RawEventKeyValues|ProfileCallKeyValues|SyntheticEventKeyValues;\n\nexport interface Modifications {\n entriesModifications: {\n // Entries hidden by the user\n hiddenEntries: TraceEventSerializableKey[],\n // Entries that parent a hiddenEntry\n expandableEntries: TraceEventSerializableKey[],\n };\n initialBreadcrumb: Breadcrumb;\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 networkThrottling?: string;\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n modifications?: Modifications;\n}\n\nexport type Contents = TraceFile|TraceEventData[];\n\nexport function traceEventKeyToValues(key: TraceEventSerializableKey): TraceEventSerializableKeyValues {\n const parts = key.split('-');\n const type = parts[0];\n\n switch (type) {\n case EventKeyType.ProfileCall:\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.RawEvent:\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.SyntheticEvent:\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 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":"AAuFA,MAAM,UAAU,qBAAqB,CAAC,GAA8B;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,QAAQ,IAAI,EAAE,CAAC;QACb;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAChC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACT,CAAC;QAC5B;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,CAAC;QACzB;YACE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACN,CAAC;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC","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.\nimport type * as Protocol from '../../../generated/protocol.js';\n\nimport {type TraceWindowMicroSeconds} from './Timing.js';\nimport {type ProcessID, type SampleIndex, type ThreadID, type TraceEventData} from './TraceEvents.js';\n\nexport type TraceFile = {\n traceEvents: readonly TraceEventData[],\n metadata: MetaData,\n};\n\nexport interface Breadcrumb {\n window: TraceWindowMicroSeconds;\n child: Breadcrumb|null;\n}\n\nexport const enum DataOrigin {\n CPUProfile = 'CPUProfile',\n TraceEvents = 'TraceEvents',\n}\n\nexport const enum EventKeyType {\n RawEvent = 'r',\n SyntheticEvent = 's',\n ProfileCall = 'p',\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.RawEvent}-${number}`;\nexport type SyntheticEventKey = `${EventKeyType.SyntheticEvent}-${number}`;\nexport type ProfileCallKey = `${EventKeyType.ProfileCall}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;\nexport type TraceEventSerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey;\n\n// Serializable keys values objects contain data that maps the keys to original Trace Events\nexport type RawEventKeyValues = {\n type: EventKeyType.RawEvent,\n rawIndex: number,\n};\n\nexport type SyntheticEventKeyValues = {\n type: EventKeyType.SyntheticEvent,\n rawIndex: number,\n};\n\nexport type ProfileCallKeyValues = {\n type: EventKeyType.ProfileCall,\n processID: ProcessID,\n threadID: ThreadID,\n sampleIndex: SampleIndex,\n protocol: Protocol.integer,\n};\n\nexport type TraceEventSerializableKeyValues = RawEventKeyValues|ProfileCallKeyValues|SyntheticEventKeyValues;\n\nexport interface Modifications {\n entriesModifications: {\n // Entries hidden by the user\n hiddenEntries: TraceEventSerializableKey[],\n // Entries that parent a hiddenEntry\n expandableEntries: TraceEventSerializableKey[],\n };\n initialBreadcrumb: Breadcrumb;\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 networkThrottling?: string;\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n modifications?: Modifications;\n enhancedTraceVersion?: number;\n}\n\nexport type Contents = TraceFile|TraceEventData[];\n\nexport function traceEventKeyToValues(key: TraceEventSerializableKey): TraceEventSerializableKeyValues {\n const parts = key.split('-');\n const type = parts[0];\n\n switch (type) {\n case EventKeyType.ProfileCall:\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.RawEvent:\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.SyntheticEvent:\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 default:\n throw new Error(`Unknown trace event key: ${key}`);\n }\n}\n"]}
@@ -925,6 +925,55 @@ export interface TraceEventTimeStamp extends TraceEventData {
925
925
  };
926
926
  };
927
927
  }
928
+ export interface TraceEventTargetRundown extends TraceEventData {
929
+ cat: 'disabled-by-default-devtools.target-rundown';
930
+ args: TraceEventArgs & {
931
+ data: TraceEventArgsData & {
932
+ frame: string;
933
+ frameType: string;
934
+ url: string;
935
+ isolate: string;
936
+ v8context: string;
937
+ origin: string;
938
+ scriptId: number;
939
+ isDefault?: boolean;
940
+ contextType?: string;
941
+ };
942
+ };
943
+ }
944
+ export declare function isTraceEventTargetRundown(traceEventData: TraceEventData): traceEventData is TraceEventTargetRundown;
945
+ export interface TraceEventScriptRundown extends TraceEventData {
946
+ cat: 'disabled-by-default-devtools.v8-source-rundown';
947
+ args: TraceEventArgs & {
948
+ data: TraceEventArgsData & {
949
+ isolate: string;
950
+ executionContextId: number;
951
+ scriptId: number;
952
+ startLine: number;
953
+ startColumn: number;
954
+ endLine: number;
955
+ endColumn: number;
956
+ url: string;
957
+ hash: string;
958
+ isModule: boolean;
959
+ hasSourceUrl: boolean;
960
+ sourceMapUrl?: string;
961
+ };
962
+ };
963
+ }
964
+ export declare function isTraceEventScriptRundown(traceEventData: TraceEventData): traceEventData is TraceEventScriptRundown;
965
+ export interface TraceEventScriptRundownSource extends TraceEventData {
966
+ cat: 'disabled-by-default-devtools.v8-source-rundown-sources';
967
+ args: TraceEventArgs & {
968
+ data: TraceEventArgsData & {
969
+ isolate: string;
970
+ scriptId: number;
971
+ length?: number;
972
+ sourceText?: string;
973
+ };
974
+ };
975
+ }
976
+ export declare function isTraceEventScriptRundownSource(traceEventData: TraceEventData): traceEventData is TraceEventScriptRundownSource;
928
977
  /** ChromeFrameReporter args for PipelineReporter event.
929
978
  Matching proto: https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto
930
979
  */
@@ -71,6 +71,39 @@ export function isTraceEventScheduleStyleRecalculation(event) {
71
71
  export function isTraceEventRenderFrameImplCreateChildFrame(event) {
72
72
  return event.name === "RenderFrameImpl::createChildFrame" /* KnownEventName.RenderFrameImplCreateChildFrame */;
73
73
  }
74
+ export function isTraceEventTargetRundown(traceEventData) {
75
+ if (traceEventData.cat !== 'disabled-by-default-devtools.target-rundown') {
76
+ return false;
77
+ }
78
+ const data = traceEventData.args?.data;
79
+ if (!data) {
80
+ return false;
81
+ }
82
+ return 'frame' in data && 'frameType' in data && 'url' in data && 'isolate' in data && 'v8context' in data &&
83
+ 'scriptId' in data;
84
+ }
85
+ export function isTraceEventScriptRundown(traceEventData) {
86
+ if (traceEventData.cat !== 'disabled-by-default-devtools.v8-source-rundown') {
87
+ return false;
88
+ }
89
+ const data = traceEventData.args?.data;
90
+ if (!data) {
91
+ return false;
92
+ }
93
+ return 'isolate' in data && 'executionContextId' in data && 'scriptId' in data && 'startLine' in data &&
94
+ 'startColumn' in data && 'endLine' in data && 'endColumn' in data && 'hash' in data && 'isModule' in data &&
95
+ 'hasSourceUrl' in data;
96
+ }
97
+ export function isTraceEventScriptRundownSource(traceEventData) {
98
+ if (traceEventData.cat !== 'disabled-by-default-devtools.v8-source-rundown-sources') {
99
+ return false;
100
+ }
101
+ const data = traceEventData.args?.data;
102
+ if (!data) {
103
+ return false;
104
+ }
105
+ return 'isolate' in data && 'scriptId' in data && 'length' in data && 'sourceText' in data;
106
+ }
74
107
  export function isTraceEventPipelineReporter(event) {
75
108
  return event.name === "PipelineReporter" /* KnownEventName.PipelineReporter */;
76
109
  }