@paulirish/trace_engine 0.0.8 → 0.0.10

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 (238) hide show
  1. package/README.md +4 -4
  2. package/analyze-trace.mjs +7 -4
  3. package/core/platform/DevToolsPath.d.ts +32 -0
  4. package/core/platform/DevToolsPath.js +4 -0
  5. package/core/platform/DevToolsPath.js.map +7 -0
  6. package/core/platform/MimeType.js +104 -0
  7. package/core/platform/MimeType.js.map +7 -0
  8. package/core/platform/Timing.js +10 -0
  9. package/core/platform/Timing.js.map +7 -0
  10. package/core/platform/UIString.d.ts +6 -0
  11. package/core/platform/UIString.js +2 -0
  12. package/core/platform/UIString.js.map +7 -0
  13. package/core/platform/UserVisibleError.d.ts +12 -0
  14. package/core/platform/UserVisibleError.js +14 -0
  15. package/core/platform/UserVisibleError.js.map +7 -0
  16. package/core/platform/array-utilities.d.ts +28 -0
  17. package/core/platform/array-utilities.js +163 -0
  18. package/core/platform/array-utilities.js.map +7 -0
  19. package/core/platform/brand.js +1 -0
  20. package/core/platform/brand.js.map +7 -0
  21. package/core/platform/bundle-tsconfig.json +1 -0
  22. package/core/platform/date-utilities.d.ts +2 -0
  23. package/core/platform/date-utilities.js +10 -0
  24. package/core/platform/date-utilities.js.map +7 -0
  25. package/core/platform/dcheck-tsconfig.json +8 -0
  26. package/core/platform/dcheck.d.ts +4 -0
  27. package/core/platform/dcheck.js +5 -0
  28. package/core/platform/devtools_entrypoint-bundle-tsconfig-tsconfig.json +40 -0
  29. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  30. package/core/platform/dom-utilities.d.ts +6 -0
  31. package/core/platform/dom-utilities.js +98 -0
  32. package/core/platform/dom-utilities.js.map +7 -0
  33. package/core/platform/keyboard-utilities.d.ts +15 -0
  34. package/core/platform/keyboard-utilities.js +31 -0
  35. package/core/platform/keyboard-utilities.js.map +7 -0
  36. package/core/platform/map-utilities.d.ts +14 -0
  37. package/core/platform/map-utilities.js +70 -0
  38. package/core/platform/map-utilities.js.map +7 -0
  39. package/core/platform/number-utilities.d.ts +15 -0
  40. package/core/platform/number-utilities.js +71 -0
  41. package/core/platform/number-utilities.js.map +7 -0
  42. package/core/platform/platform-tsconfig.json +59 -0
  43. package/core/platform/platform.d.ts +15 -0
  44. package/core/platform/platform.js +37 -0
  45. package/core/platform/platform.js.compressed +0 -0
  46. package/core/platform/platform.js.hash +1 -0
  47. package/core/platform/platform.js.map +7 -0
  48. package/core/platform/platform.prebundle.d.ts +15 -0
  49. package/core/platform/platform.prebundle.js +50 -0
  50. package/core/platform/platform.prebundle.js.map +1 -0
  51. package/core/platform/platform.prebundle.ts +64 -0
  52. package/core/platform/promise-utilities.js +10 -0
  53. package/core/platform/promise-utilities.js.map +7 -0
  54. package/core/platform/set-utilities.d.ts +2 -0
  55. package/core/platform/set-utilities.js +20 -0
  56. package/core/platform/set-utilities.js.map +7 -0
  57. package/core/platform/string-utilities.d.ts +40 -0
  58. package/core/platform/string-utilities.js +439 -0
  59. package/core/platform/string-utilities.js.map +7 -0
  60. package/core/platform/typescript-utilities.d.ts +56 -0
  61. package/core/platform/typescript-utilities.js +13 -0
  62. package/core/platform/typescript-utilities.js.map +7 -0
  63. package/generated/protocol.d.ts +16189 -0
  64. package/generated/protocol.js +2230 -0
  65. package/models/cpu_profile/CPUProfileDataModel.js +375 -0
  66. package/models/cpu_profile/CPUProfileDataModel.js.map +7 -0
  67. package/models/cpu_profile/ProfileTreeModel.js +90 -0
  68. package/models/cpu_profile/ProfileTreeModel.js.map +7 -0
  69. package/models/cpu_profile/bundle-tsconfig.json +1 -0
  70. package/models/cpu_profile/cpu_profile-tsconfig.json +51 -0
  71. package/models/cpu_profile/cpu_profile.js +7 -0
  72. package/models/cpu_profile/cpu_profile.js.map +7 -0
  73. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  74. package/models/trace/EntriesFilter.js +182 -0
  75. package/models/trace/EntriesFilter.js.map +7 -0
  76. package/models/trace/LegacyTracingModel.d.ts +1 -0
  77. package/models/trace/LegacyTracingModel.js +1 -0
  78. package/models/trace/LegacyTracingModel.js.map +7 -0
  79. package/models/trace/ModelImpl.js +116 -0
  80. package/models/trace/ModelImpl.js.map +7 -0
  81. package/models/trace/Processor.js +179 -0
  82. package/models/trace/Processor.js.map +7 -0
  83. package/models/trace/SDKServices.js +104 -0
  84. package/models/trace/SDKServices.js.map +7 -0
  85. package/models/trace/TraceProcessor.js +133 -0
  86. package/models/trace/TraceProcessor.js.map +7 -0
  87. package/models/trace/TracingManager.d.ts +1 -0
  88. package/models/trace/TracingManager.js +1 -0
  89. package/models/trace/TracingManager.js.map +7 -0
  90. package/models/trace/TreeManipulator.js +85 -0
  91. package/models/trace/TreeManipulator.js.map +7 -0
  92. package/models/trace/bundle-tsconfig.json +1 -0
  93. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  94. package/models/trace/devtools_entrypoint-legacy-typescript-tsconfig.json +43 -0
  95. package/models/trace/extras/FetchNodes.js +104 -0
  96. package/models/trace/extras/FetchNodes.js.map +7 -0
  97. package/models/trace/extras/FilmStrip.js +37 -0
  98. package/models/trace/extras/FilmStrip.js.map +7 -0
  99. package/models/trace/extras/MainThreadActivity.js +61 -0
  100. package/models/trace/extras/MainThreadActivity.js.map +7 -0
  101. package/models/trace/extras/Metadata.js +28 -0
  102. package/models/trace/extras/Metadata.js.map +7 -0
  103. package/models/trace/extras/bundle-tsconfig.json +1 -0
  104. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  105. package/models/trace/extras/extras-tsconfig.json +59 -0
  106. package/models/trace/extras/extras.d.ts +1 -0
  107. package/models/trace/extras/extras.js +1 -0
  108. package/models/trace/extras/extras.js.map +7 -0
  109. package/models/trace/frames/TimelineFrameModel.js +392 -0
  110. package/models/trace/frames/TimelineFrameModel.js.map +7 -0
  111. package/models/trace/frames/bundle-tsconfig.json +1 -0
  112. package/models/trace/frames/devtools_entrypoint-bundle-typescript-tsconfig.json +43 -0
  113. package/models/trace/frames/frames-tsconfig.json +58 -0
  114. package/models/trace/frames/frames.js +5 -0
  115. package/models/trace/frames/frames.js.map +7 -0
  116. package/models/trace/handlers/AnimationHandler.js +30 -0
  117. package/models/trace/handlers/AnimationHandler.js.map +7 -0
  118. package/models/trace/handlers/AuctionWorkletsHandler.js +106 -0
  119. package/models/trace/handlers/AuctionWorkletsHandler.js.map +7 -0
  120. package/models/trace/handlers/FramesHandler.js +388 -0
  121. package/models/trace/handlers/FramesHandler.js.map +7 -0
  122. package/models/trace/handlers/GPUHandler.js +50 -0
  123. package/models/trace/handlers/GPUHandler.js.map +7 -0
  124. package/models/trace/handlers/InitiatorsHandler.js +133 -0
  125. package/models/trace/handlers/InitiatorsHandler.js.map +7 -0
  126. package/models/trace/handlers/InvalidationsHandler.js +98 -0
  127. package/models/trace/handlers/InvalidationsHandler.js.map +7 -0
  128. package/models/trace/handlers/LargestImagePaintHandler.js +18 -0
  129. package/models/trace/handlers/LargestImagePaintHandler.js.map +7 -0
  130. package/models/trace/handlers/LargestTextPaintHandler.js +18 -0
  131. package/models/trace/handlers/LargestTextPaintHandler.js.map +7 -0
  132. package/models/trace/handlers/LayerTreeHandler.js +90 -0
  133. package/models/trace/handlers/LayerTreeHandler.js.map +7 -0
  134. package/models/trace/handlers/LayoutShiftsHandler.js +270 -0
  135. package/models/trace/handlers/LayoutShiftsHandler.js.map +7 -0
  136. package/models/trace/handlers/MemoryHandler.js +17 -0
  137. package/models/trace/handlers/MemoryHandler.js.map +7 -0
  138. package/models/trace/handlers/MetaHandler.js +250 -0
  139. package/models/trace/handlers/MetaHandler.js.map +7 -0
  140. package/models/trace/handlers/Migration.js +27 -0
  141. package/models/trace/handlers/Migration.js.map +7 -0
  142. package/models/trace/handlers/ModelHandlers.js +22 -0
  143. package/models/trace/handlers/ModelHandlers.js.map +7 -0
  144. package/models/trace/handlers/NetworkRequestsHandler.js +237 -0
  145. package/models/trace/handlers/NetworkRequestsHandler.js.map +7 -0
  146. package/models/trace/handlers/PageLoadMetricsHandler.js +334 -0
  147. package/models/trace/handlers/PageLoadMetricsHandler.js.map +7 -0
  148. package/models/trace/handlers/RendererHandler.js +221 -0
  149. package/models/trace/handlers/RendererHandler.js.map +7 -0
  150. package/models/trace/handlers/SamplesHandler.js +178 -0
  151. package/models/trace/handlers/SamplesHandler.js.map +7 -0
  152. package/models/trace/handlers/ScreenshotsHandler.js +57 -0
  153. package/models/trace/handlers/ScreenshotsHandler.js.map +7 -0
  154. package/models/trace/handlers/Threads.js +77 -0
  155. package/models/trace/handlers/Threads.js.map +7 -0
  156. package/models/trace/handlers/UberFramesHandler.js +293 -0
  157. package/models/trace/handlers/UberFramesHandler.js.map +7 -0
  158. package/models/trace/handlers/UserInteractionsHandler.js +168 -0
  159. package/models/trace/handlers/UserInteractionsHandler.js.map +7 -0
  160. package/models/trace/handlers/UserTimingsHandler.js +97 -0
  161. package/models/trace/handlers/UserTimingsHandler.js.map +7 -0
  162. package/models/trace/handlers/WarningsHandler.js +87 -0
  163. package/models/trace/handlers/WarningsHandler.js.map +7 -0
  164. package/models/trace/handlers/WorkersHandler.js +50 -0
  165. package/models/trace/handlers/WorkersHandler.js.map +7 -0
  166. package/models/trace/handlers/bundle-tsconfig.json +1 -0
  167. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  168. package/models/trace/handlers/handlers-tsconfig.json +79 -0
  169. package/models/trace/handlers/handlers.js +4 -0
  170. package/models/trace/handlers/handlers.js.map +7 -0
  171. package/models/trace/handlers/types.js +18 -0
  172. package/models/trace/handlers/types.js.map +7 -0
  173. package/models/trace/helpers/SamplesIntegrator.js +220 -0
  174. package/models/trace/helpers/SamplesIntegrator.js.map +7 -0
  175. package/models/trace/helpers/Timing.js +141 -0
  176. package/models/trace/helpers/Timing.js.map +7 -0
  177. package/models/trace/helpers/Trace.js +196 -0
  178. package/models/trace/helpers/Trace.js.map +7 -0
  179. package/models/trace/helpers/TreeHelpers.js +119 -0
  180. package/models/trace/helpers/TreeHelpers.js.map +7 -0
  181. package/models/trace/helpers/bundle-tsconfig.json +1 -0
  182. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  183. package/models/trace/helpers/helpers-tsconfig.json +59 -0
  184. package/models/trace/helpers/helpers.js +5 -0
  185. package/models/trace/helpers/helpers.js.map +7 -0
  186. package/models/trace/legacy-tsconfig.json +1 -0
  187. package/models/trace/root-causes/LayoutShift.js +370 -0
  188. package/models/trace/root-causes/LayoutShift.js.map +7 -0
  189. package/models/trace/root-causes/RootCauses.js +8 -0
  190. package/models/trace/root-causes/RootCauses.js.map +7 -0
  191. package/models/trace/root-causes/bundle-tsconfig.json +1 -0
  192. package/models/trace/root-causes/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  193. package/models/trace/root-causes/root-causes-tsconfig.json +57 -0
  194. package/models/trace/root-causes/root-causes.js +2 -0
  195. package/models/trace/root-causes/root-causes.js.map +7 -0
  196. package/models/trace/sdk_services/DOMNodeLookup.js +41 -0
  197. package/models/trace/sdk_services/DOMNodeLookup.js.map +7 -0
  198. package/models/trace/sdk_services/LayoutShifts.js +68 -0
  199. package/models/trace/sdk_services/LayoutShifts.js.map +7 -0
  200. package/models/trace/sdk_services/bundle-tsconfig.json +1 -0
  201. package/models/trace/sdk_services/devtools_entrypoint-bundle-typescript-tsconfig.json +41 -0
  202. package/models/trace/sdk_services/sdk_services-tsconfig.json +57 -0
  203. package/models/trace/sdk_services/sdk_services.js +7 -0
  204. package/models/trace/sdk_services/sdk_services.js.map +7 -0
  205. package/models/trace/trace-legacy.js +16 -0
  206. package/models/trace/trace-legacy.js.map +7 -0
  207. package/models/trace/trace-tsconfig.json +69 -0
  208. package/models/trace/trace.js +23 -0
  209. package/models/trace/trace.js.map +7 -0
  210. package/models/trace/types/Configuration.js +18 -0
  211. package/models/trace/types/Configuration.js.map +7 -0
  212. package/models/trace/types/File.js +6 -0
  213. package/models/trace/types/File.js.map +7 -0
  214. package/models/trace/types/Timing.js +17 -0
  215. package/models/trace/types/Timing.js.map +7 -0
  216. package/models/trace/types/TraceEvents.js +595 -0
  217. package/models/trace/types/TraceEvents.js.map +7 -0
  218. package/models/trace/types/bundle-tsconfig.json +1 -0
  219. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  220. package/models/trace/types/types-tsconfig.json +47 -0
  221. package/models/trace/types/types.js +5 -0
  222. package/models/trace/types/types.js.map +7 -0
  223. package/models/trace/worker/Processor.js +143 -0
  224. package/models/trace/worker/Processor.js.map +7 -0
  225. package/models/trace/worker/Types.js +1 -0
  226. package/models/trace/worker/Types.js.map +7 -0
  227. package/models/trace/worker/bundle-tsconfig.json +1 -0
  228. package/models/trace/worker/devtools_entrypoint-bundle-typescript-tsconfig.json +41 -0
  229. package/models/trace/worker/devtools_entrypoint-worker_entrypoint-typescript-tsconfig.json +41 -0
  230. package/models/trace/worker/processor-tsconfig.json +45 -0
  231. package/models/trace/worker/worker.js +7 -0
  232. package/models/trace/worker/worker.js.map +7 -0
  233. package/models/trace/worker/worker_entrypoint-tsconfig.json +1 -0
  234. package/models/trace/worker/worker_entrypoint.js +36 -0
  235. package/models/trace/worker/worker_entrypoint.js.map +7 -0
  236. package/package.json +2 -2
  237. package/trace.mjs +15 -8
  238. package/trace.mjs.map +3 -2
@@ -0,0 +1,56 @@
1
+ /**
2
+ * This is useful to keep TypeScript happy in a test - if you have a value
3
+ * that's potentially `null` you can use this function to assert that it isn't,
4
+ * and satisfy TypeScript that the value is present.
5
+ */
6
+ export declare function assertNotNullOrUndefined<T>(val: T): asserts val is NonNullable<T>;
7
+ export declare function assertNever(type: never, message: string): never;
8
+ /**
9
+ * This is useful to check on the type-level that the unhandled cases of
10
+ * a switch are exactly `T` (where T is usually a union type of enum values).
11
+ * @param caseVariable
12
+ */
13
+ export declare function assertUnhandled<T>(_caseVariable: T): T;
14
+ export declare type FieldsThatExtend<Type, Selector> = {
15
+ [Key in keyof Type]: Type[Key] extends Selector ? Key : never;
16
+ }[keyof Type];
17
+ export declare type PickFieldsThatExtend<Type, Selector> = Pick<Type, FieldsThatExtend<Type, Selector>>;
18
+ /**
19
+ * Turns a Union type (a | b) into an Intersection type (a & b).
20
+ * This is a helper type to implement the "NoUnion" guard.
21
+ *
22
+ * Adapted from https://stackoverflow.com/a/50375286.
23
+ *
24
+ * The tautological `T extends any` is necessary to trigger distributivity for
25
+ * plain unions, e.g. in IntersectionFromUnion<'a'|'b'> TypeScript expands it
26
+ * to ('a' extends any ? (arg: 'a') => void : never)
27
+ * | ('b' extends any ? (arg: 'b') => void : never)
28
+ *
29
+ * The second extends clause then asks TypeScript to find a type of the form
30
+ * `(arg: infer U) => void` that upper-bounds the union, i.e., intuitively,
31
+ * a type that converts to each of the union members. This forces U to be the
32
+ * intersection of 'a' and 'b' in the example.
33
+ *
34
+ * Please note that some intersection types are simply impossible, e.g.
35
+ * `string & number`. There is no type that fulfills both at the same time. A
36
+ * union of this kind is reduced to `never`.
37
+ */
38
+ declare type IntersectionFromUnion<T> = (T extends any ? (arg: T) => void : never) extends ((arg: infer U) => void) ? U : never;
39
+ /**
40
+ * When writing generic code it may be desired to disallow Union types from
41
+ * being passed. This type can be used in those cases.
42
+ *
43
+ * function foo<T>(argument: NoUnion<T>) {...}
44
+ *
45
+ * Would result in a compile error for foo<a|b>(...); invocations as `argument`
46
+ * would be typed as `never`.
47
+ *
48
+ * Adapted from https://stackoverflow.com/a/50641073.
49
+ *
50
+ * Conditional types become distributive when receiving a union type. To
51
+ * prevent this from happening, we use `[T] extends [IntersectionFromUnion<T>]`
52
+ * instead of `T extends IntersectionFromUnion<T>`.
53
+ * See: https://www.typescriptlang.org/docs/handbook/2/conditional-types.html
54
+ */
55
+ export declare type NoUnion<T> = [T] extends [IntersectionFromUnion<T>] ? T : never;
56
+ export {};
@@ -0,0 +1,13 @@
1
+ export function assertNotNullOrUndefined(val, message) {
2
+ if (val === null || val === void 0) {
3
+ throw new Error(`Expected given value to not be null/undefined but it was: ${val}${message ? `
4
+ ${message}` : ""}`);
5
+ }
6
+ }
7
+ export function assertNever(type, message) {
8
+ throw new Error(message);
9
+ }
10
+ export function assertUnhandled(_caseVariable) {
11
+ return _caseVariable;
12
+ }
13
+ //# sourceMappingURL=typescript-utilities.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../front_end/core/platform/typescript-utilities.ts"],
4
+ "sourcesContent": ["// Copyright 2020 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/**\n * This is useful to keep TypeScript happy in a test - if you have a value\n * that's potentially `null` you can use this function to assert that it isn't,\n * and satisfy TypeScript that the value is present.\n */\nexport function assertNotNullOrUndefined<T>(val: T, message?: string): asserts val is NonNullable<T> {\n if (val === null || val === undefined) {\n throw new Error(`Expected given value to not be null/undefined but it was: ${val}${message ? `\\n${message}` : ''}`);\n }\n}\n\nexport function assertNever(type: never, message: string): never {\n throw new Error(message);\n}\n\n/**\n * This is useful to check on the type-level that the unhandled cases of\n * a switch are exactly `T` (where T is usually a union type of enum values).\n * @param caseVariable\n */\nexport function assertUnhandled<T>(_caseVariable: T): T {\n return _caseVariable;\n}\n\nexport type FieldsThatExtend<Type, Selector> = {\n [Key in keyof Type]: Type[Key] extends Selector ? Key : never;\n}[keyof Type];\n\nexport type PickFieldsThatExtend<Type, Selector> = Pick<Type, FieldsThatExtend<Type, Selector>>;\n\n/**\n * Turns a Union type (a | b) into an Intersection type (a & b).\n * This is a helper type to implement the \"NoUnion\" guard.\n *\n * Adapted from https://stackoverflow.com/a/50375286.\n *\n * The tautological `T extends any` is necessary to trigger distributivity for\n * plain unions, e.g. in IntersectionFromUnion<'a'|'b'> TypeScript expands it\n * to ('a' extends any ? (arg: 'a') => void : never)\n * | ('b' extends any ? (arg: 'b') => void : never)\n *\n * The second extends clause then asks TypeScript to find a type of the form\n * `(arg: infer U) => void` that upper-bounds the union, i.e., intuitively,\n * a type that converts to each of the union members. This forces U to be the\n * intersection of 'a' and 'b' in the example.\n *\n * Please note that some intersection types are simply impossible, e.g.\n * `string & number`. There is no type that fulfills both at the same time. A\n * union of this kind is reduced to `never`.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype IntersectionFromUnion<T> = (T extends any ? (arg: T) => void : never) extends((arg: infer U) => void) ? U : never;\n\n/**\n * When writing generic code it may be desired to disallow Union types from\n * being passed. This type can be used in those cases.\n *\n * function foo<T>(argument: NoUnion<T>) {...}\n *\n * Would result in a compile error for foo<a|b>(...); invocations as `argument`\n * would be typed as `never`.\n *\n * Adapted from https://stackoverflow.com/a/50641073.\n *\n * Conditional types become distributive when receiving a union type. To\n * prevent this from happening, we use `[T] extends [IntersectionFromUnion<T>]`\n * instead of `T extends IntersectionFromUnion<T>`.\n * See: https://www.typescriptlang.org/docs/handbook/2/conditional-types.html\n */\nexport type NoUnion<T> = [T] extends [IntersectionFromUnion<T>] ? T : never;\n"],
5
+ "mappings": "AASO,yCAAqC,KAAQ,SAAiD;AACnG,MAAI,QAAQ,QAAQ,QAAQ,QAAW;AACrC,UAAM,IAAI,MAAM,6DAA6D,MAAM,UAAU;AAAA,EAAK,YAAY;AAAA;AAAA;AAI3G,4BAAqB,MAAa,SAAwB;AAC/D,QAAM,IAAI,MAAM;AAAA;AAQX,gCAA4B,eAAqB;AACtD,SAAO;AAAA;",
6
+ "names": []
7
+ }