@paulirish/trace_engine 0.0.11 → 0.0.13

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 (147) hide show
  1. package/core/platform/{array-utilities.js → ArrayUtilities.js} +1 -1
  2. package/core/platform/ArrayUtilities.js.map +1 -0
  3. package/core/platform/{brand.js → Brand.js} +1 -1
  4. package/core/platform/{brand.js.map → Brand.js.map} +1 -1
  5. package/core/platform/{dom-utilities.js → DOMUtilities.js} +1 -1
  6. package/core/platform/DOMUtilities.js.map +1 -0
  7. package/core/platform/{date-utilities.js → DateUtilities.js} +1 -1
  8. package/core/platform/DateUtilities.js.map +1 -0
  9. package/core/platform/DevToolsPath.d.ts +1 -1
  10. package/core/platform/DevToolsPath.js.map +1 -1
  11. package/core/platform/{keyboard-utilities.js → KeyboardUtilities.js} +1 -1
  12. package/core/platform/KeyboardUtilities.js.map +1 -0
  13. package/core/platform/{map-utilities.js → MapUtilities.js} +1 -1
  14. package/core/platform/MapUtilities.js.map +1 -0
  15. package/core/platform/{number-utilities.js → NumberUtilities.js} +1 -1
  16. package/core/platform/NumberUtilities.js.map +1 -0
  17. package/core/platform/{promise-utilities.js → PromiseUtilities.js} +1 -1
  18. package/core/platform/PromiseUtilities.js.map +1 -0
  19. package/core/platform/{set-utilities.js → SetUtilities.js} +1 -1
  20. package/core/platform/SetUtilities.js.map +1 -0
  21. package/core/platform/{string-utilities.js → StringUtilities.js} +4 -4
  22. package/core/platform/StringUtilities.js.map +1 -0
  23. package/core/platform/Timing.d.ts +1 -1
  24. package/core/platform/Timing.js.map +1 -1
  25. package/core/platform/{typescript-utilities.js → TypescriptUtilities.js} +1 -1
  26. package/core/platform/TypescriptUtilities.js.map +1 -0
  27. package/core/platform/UIString.d.ts +1 -1
  28. package/core/platform/UIString.js.map +1 -1
  29. package/core/platform/platform-tsconfig.json +11 -16
  30. package/core/platform/platform.d.ts +12 -13
  31. package/core/platform/platform.js +16 -17
  32. package/core/platform/platform.js.map +1 -1
  33. package/generated/protocol.d.ts +83 -28
  34. package/models/trace/ModelImpl.d.ts +3 -0
  35. package/models/trace/ModelImpl.js +10 -2
  36. package/models/trace/ModelImpl.js.map +1 -1
  37. package/models/trace/Processor.d.ts +3 -1
  38. package/models/trace/Processor.js +43 -4
  39. package/models/trace/Processor.js.map +1 -1
  40. package/models/trace/TracingManager.js.map +1 -1
  41. package/models/trace/extras/FetchNodes.d.ts +10 -3
  42. package/models/trace/extras/FetchNodes.js +14 -1
  43. package/models/trace/extras/FetchNodes.js.map +1 -1
  44. package/models/trace/handlers/NetworkRequestsHandler.js +5 -0
  45. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  46. package/models/trace/handlers/RendererHandler.js +2 -1
  47. package/models/trace/handlers/RendererHandler.js.map +1 -1
  48. package/models/trace/insights/InsightRunners.d.ts +1 -0
  49. package/models/trace/insights/InsightRunners.js +5 -0
  50. package/models/trace/insights/InsightRunners.js.map +1 -0
  51. package/models/trace/insights/RenderBlocking.d.ts +6 -0
  52. package/models/trace/insights/RenderBlocking.js +27 -0
  53. package/models/trace/insights/RenderBlocking.js.map +1 -0
  54. package/models/trace/insights/bundle-tsconfig.json +1 -0
  55. package/models/trace/{frames → insights}/devtools_entrypoint-bundle-typescript-tsconfig.json +5 -4
  56. package/models/trace/{worker/processor-tsconfig.json → insights/insights-tsconfig.json} +9 -8
  57. package/models/trace/insights/insights.d.ts +2 -0
  58. package/models/trace/insights/insights.js +6 -0
  59. package/models/trace/insights/insights.js.map +1 -0
  60. package/models/trace/insights/types.d.ts +33 -0
  61. package/models/trace/insights/types.js +5 -0
  62. package/models/trace/insights/types.js.map +1 -0
  63. package/models/trace/trace-tsconfig.json +3 -0
  64. package/models/trace/trace.d.ts +2 -1
  65. package/models/trace/trace.js +2 -1
  66. package/models/trace/trace.js.map +1 -1
  67. package/models/trace/types/TraceEvents.d.ts +24 -0
  68. package/models/trace/types/TraceEvents.js.map +1 -1
  69. package/package.json +7 -5
  70. package/LICENSE +0 -27
  71. package/PAUL.readme.md +0 -5
  72. package/README.md +0 -156
  73. package/analyze-trace.mjs +0 -184
  74. package/core/platform/array-utilities.js.map +0 -1
  75. package/core/platform/date-utilities.js.map +0 -1
  76. package/core/platform/dcheck-tsconfig.json +0 -8
  77. package/core/platform/dcheck.d.ts +0 -4
  78. package/core/platform/dcheck.js +0 -5
  79. package/core/platform/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -40
  80. package/core/platform/dom-utilities.js.map +0 -1
  81. package/core/platform/keyboard-utilities.js.map +0 -1
  82. package/core/platform/map-utilities.js.map +0 -1
  83. package/core/platform/number-utilities.js.map +0 -1
  84. package/core/platform/platform.js.compressed +0 -0
  85. package/core/platform/platform.js.hash +0 -1
  86. package/core/platform/platform.prebundle.d.ts +0 -15
  87. package/core/platform/platform.prebundle.js +0 -50
  88. package/core/platform/platform.prebundle.js.map +0 -1
  89. package/core/platform/platform.prebundle.ts +0 -64
  90. package/core/platform/promise-utilities.js.map +0 -1
  91. package/core/platform/set-utilities.js.map +0 -1
  92. package/core/platform/string-utilities.js.map +0 -1
  93. package/core/platform/typescript-utilities.js.map +0 -1
  94. package/models/trace/SDKServices.js +0 -104
  95. package/models/trace/SDKServices.js.map +0 -7
  96. package/models/trace/TraceProcessor.js +0 -133
  97. package/models/trace/TraceProcessor.js.map +0 -7
  98. package/models/trace/TreeManipulator.js +0 -85
  99. package/models/trace/TreeManipulator.js.map +0 -7
  100. package/models/trace/devtools_entrypoint-legacy-typescript-tsconfig.json +0 -43
  101. package/models/trace/frames/TimelineFrameModel.js +0 -392
  102. package/models/trace/frames/TimelineFrameModel.js.map +0 -7
  103. package/models/trace/frames/bundle-tsconfig.json +0 -1
  104. package/models/trace/frames/frames-tsconfig.json +0 -58
  105. package/models/trace/frames/frames.js +0 -5
  106. package/models/trace/frames/frames.js.map +0 -7
  107. package/models/trace/handlers/Migration.js +0 -27
  108. package/models/trace/handlers/Migration.js.map +0 -7
  109. package/models/trace/handlers/UberFramesHandler.js +0 -293
  110. package/models/trace/handlers/UberFramesHandler.js.map +0 -7
  111. package/models/trace/legacy-tsconfig.json +0 -1
  112. package/models/trace/sdk_services/DOMNodeLookup.js +0 -41
  113. package/models/trace/sdk_services/DOMNodeLookup.js.map +0 -7
  114. package/models/trace/sdk_services/LayoutShifts.js +0 -68
  115. package/models/trace/sdk_services/LayoutShifts.js.map +0 -7
  116. package/models/trace/sdk_services/bundle-tsconfig.json +0 -1
  117. package/models/trace/sdk_services/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -41
  118. package/models/trace/sdk_services/sdk_services-tsconfig.json +0 -57
  119. package/models/trace/sdk_services/sdk_services.js +0 -7
  120. package/models/trace/sdk_services/sdk_services.js.map +0 -7
  121. package/models/trace/trace-legacy.js +0 -16
  122. package/models/trace/trace-legacy.js.map +0 -7
  123. package/models/trace/worker/Processor.js +0 -143
  124. package/models/trace/worker/Processor.js.map +0 -7
  125. package/models/trace/worker/Types.js +0 -1
  126. package/models/trace/worker/Types.js.map +0 -7
  127. package/models/trace/worker/bundle-tsconfig.json +0 -1
  128. package/models/trace/worker/devtools_entrypoint-bundle-typescript-tsconfig.json +0 -41
  129. package/models/trace/worker/devtools_entrypoint-worker_entrypoint-typescript-tsconfig.json +0 -41
  130. package/models/trace/worker/worker.js +0 -7
  131. package/models/trace/worker/worker.js.map +0 -7
  132. package/models/trace/worker/worker_entrypoint-tsconfig.json +0 -1
  133. package/models/trace/worker/worker_entrypoint.js +0 -36
  134. package/models/trace/worker/worker_entrypoint.js.map +0 -7
  135. package/test/invalid-animation-events.json.gz +0 -0
  136. package/test/test-trace-engine.mjs +0 -52
  137. /package/core/platform/{array-utilities.d.ts → ArrayUtilities.d.ts} +0 -0
  138. /package/core/platform/{brand.d.ts → Brand.d.ts} +0 -0
  139. /package/core/platform/{dom-utilities.d.ts → DOMUtilities.d.ts} +0 -0
  140. /package/core/platform/{date-utilities.d.ts → DateUtilities.d.ts} +0 -0
  141. /package/core/platform/{keyboard-utilities.d.ts → KeyboardUtilities.d.ts} +0 -0
  142. /package/core/platform/{map-utilities.d.ts → MapUtilities.d.ts} +0 -0
  143. /package/core/platform/{number-utilities.d.ts → NumberUtilities.d.ts} +0 -0
  144. /package/core/platform/{promise-utilities.d.ts → PromiseUtilities.d.ts} +0 -0
  145. /package/core/platform/{set-utilities.d.ts → SetUtilities.d.ts} +0 -0
  146. /package/core/platform/{string-utilities.d.ts → StringUtilities.d.ts} +0 -0
  147. /package/core/platform/{typescript-utilities.d.ts → TypescriptUtilities.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InsightRunners.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/insights/InsightRunners.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC","sourcesContent":["// Copyright 2024 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 * as RenderBlocking from './RenderBlocking.js';\n"]}
@@ -0,0 +1,6 @@
1
+ import type * as Types from '../types/types.js';
2
+ import { type NavigationInsightContext, type RequiredData } from './types.js';
3
+ export declare function deps(): ['NetworkRequests', 'Meta'];
4
+ export declare function generateInsight(traceParsedData: RequiredData<typeof deps>, context: NavigationInsightContext): {
5
+ renderBlockingRequests: Types.TraceEvents.SyntheticNetworkRequest[];
6
+ };
@@ -0,0 +1,27 @@
1
+ // Copyright 2024 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ import * as Helpers from '../helpers/helpers.js';
5
+ export function deps() {
6
+ return ['NetworkRequests', 'Meta'];
7
+ }
8
+ export function generateInsight(traceParsedData, context) {
9
+ const renderBlockingRequests = [];
10
+ for (const req of traceParsedData.NetworkRequests.byTime) {
11
+ if (req.args.data.frame !== context.frameId) {
12
+ continue;
13
+ }
14
+ const navigation = Helpers.Trace.getNavigationForTraceEvent(req, context.frameId, traceParsedData.Meta.navigationsByFrameId);
15
+ if (navigation?.args.data?.navigationId !== context.navigationId) {
16
+ continue;
17
+ }
18
+ if (req.args.data.renderBlocking !== 'blocking') {
19
+ continue;
20
+ }
21
+ renderBlockingRequests.push(req);
22
+ }
23
+ return {
24
+ renderBlockingRequests,
25
+ };
26
+ }
27
+ //# sourceMappingURL=RenderBlocking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderBlocking.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/insights/RenderBlocking.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAKjD,MAAM,UAAU,IAAI;IAClB,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,eAA0C,EAAE,OAAiC;IAE3G,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE;QACxD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE;YAC3C,SAAS;SACV;QAED,MAAM,UAAU,GACZ,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9G,IAAI,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE;YAChE,SAAS;SACV;QAED,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE;YAC/C,SAAS;SACV;QAED,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClC;IAED,OAAO;QACL,sBAAsB;KACvB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright 2024 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 * as Helpers from '../helpers/helpers.js';\nimport type * as Types from '../types/types.js';\n\nimport {type NavigationInsightContext, type RequiredData} from './types.js';\n\nexport function deps(): ['NetworkRequests', 'Meta'] {\n return ['NetworkRequests', 'Meta'];\n}\n\nexport function generateInsight(traceParsedData: RequiredData<typeof deps>, context: NavigationInsightContext):\n {renderBlockingRequests: Types.TraceEvents.SyntheticNetworkRequest[]} {\n const renderBlockingRequests = [];\n for (const req of traceParsedData.NetworkRequests.byTime) {\n if (req.args.data.frame !== context.frameId) {\n continue;\n }\n\n const navigation =\n Helpers.Trace.getNavigationForTraceEvent(req, context.frameId, traceParsedData.Meta.navigationsByFrameId);\n if (navigation?.args.data?.navigationId !== context.navigationId) {\n continue;\n }\n\n if (req.args.data.renderBlocking !== 'blocking') {\n continue;\n }\n\n renderBlockingRequests.push(req);\n }\n\n return {\n renderBlockingRequests,\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"compilerOptions":{"composite":true,"outDir":".","baseUrl":".","rootDir":"../../../../../../../front_end/models/trace/insights"},"files":["../../../../../../../front_end/models/trace/insights/insights.ts"],"references":[{"path":"./insights-tsconfig.json"}]}
@@ -19,7 +19,7 @@
19
19
  "noImplicitReturns": true,
20
20
  "noUnusedLocals": false,
21
21
  "outDir": ".",
22
- "rootDir": "../../../../../../../front_end/models/trace/frames",
22
+ "rootDir": "../../../../../../../front_end/models/trace/insights",
23
23
  "skipLibCheck": true,
24
24
  "sourceMap": true,
25
25
  "strict": true,
@@ -29,15 +29,16 @@
29
29
  "useUnknownInCatchVariables": false
30
30
  },
31
31
  "files": [
32
- "../../../../../../../front_end/models/trace/frames/frames.ts",
32
+ "../../../../../../../front_end/models/trace/insights/insights.ts",
33
33
  "../../../../../../../front_end/legacy/legacy-defs.d.ts",
34
34
  "../../../../../../../front_end/global_typings/global_defs.d.ts",
35
35
  "../../../../../../../front_end/global_typings/request_idle_callback.d.ts",
36
- "../../../../../../../node_modules/@types/filesystem/index.d.ts"
36
+ "../../../../../../../node_modules/@types/filesystem/index.d.ts",
37
+ "../../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
37
38
  ],
38
39
  "references": [
39
40
  {
40
- "path": "./frames-tsconfig.json"
41
+ "path": "./insights-tsconfig.json"
41
42
  }
42
43
  ]
43
44
  }
@@ -15,31 +15,32 @@
15
15
  "module": "esnext",
16
16
  "noEmitOnError": true,
17
17
  "noFallthroughCasesInSwitch": true,
18
+ "noImplicitOverride": true,
18
19
  "noImplicitReturns": true,
20
+ "noUnusedLocals": false,
19
21
  "outDir": ".",
20
- "rootDir": "../../../../../../../front_end/models/trace/worker",
22
+ "rootDir": "../../../../../../../front_end/models/trace/insights",
21
23
  "skipLibCheck": true,
22
24
  "sourceMap": true,
23
25
  "strict": true,
24
26
  "target": "esnext",
25
- "tsBuildInfoFile": "processor-tsconfig.json.tsbuildinfo",
27
+ "tsBuildInfoFile": "insights-tsconfig.json.tsbuildinfo",
26
28
  "typeRoots": [],
27
29
  "useUnknownInCatchVariables": false
28
30
  },
29
31
  "files": [
30
- "../../../../../../../front_end/models/trace/worker/Processor.ts",
31
- "../../../../../../../front_end/models/trace/worker/Types.ts",
32
+ "../../../../../../../front_end/models/trace/insights/InsightRunners.ts",
33
+ "../../../../../../../front_end/models/trace/insights/RenderBlocking.ts",
34
+ "../../../../../../../front_end/models/trace/insights/types.ts",
32
35
  "../../../../../../../front_end/legacy/legacy-defs.d.ts",
33
36
  "../../../../../../../front_end/global_typings/global_defs.d.ts",
34
37
  "../../../../../../../front_end/global_typings/request_idle_callback.d.ts",
35
- "../../../../../../../node_modules/@types/filesystem/index.d.ts"
38
+ "../../../../../../../node_modules/@types/filesystem/index.d.ts",
39
+ "../../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
36
40
  ],
37
41
  "references": [
38
42
  {
39
43
  "path": "../handlers/bundle-tsconfig.json"
40
- },
41
- {
42
- "path": "../types/bundle-tsconfig.json"
43
44
  }
44
45
  ]
45
46
  }
@@ -0,0 +1,2 @@
1
+ export * as InsightRunners from './InsightRunners.js';
2
+ export * as Types from './types.js';
@@ -0,0 +1,6 @@
1
+ // Copyright 2024 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ export * as InsightRunners from './InsightRunners.js';
5
+ export * as Types from './types.js';
6
+ //# sourceMappingURL=insights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/insights/insights.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC","sourcesContent":["// Copyright 2024 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 * as InsightRunners from './InsightRunners.js';\nexport * as Types from './types.js';\n"]}
@@ -0,0 +1,33 @@
1
+ import type * as Handlers from '../handlers/handlers.js';
2
+ import type * as InsightsRunners from './InsightRunners.js';
3
+ /**
4
+ * Context for which navigation an insight should look at.
5
+ */
6
+ export interface NavigationInsightContext {
7
+ frameId: string;
8
+ navigationId: string;
9
+ }
10
+ type InsightRunnersType = typeof InsightsRunners;
11
+ /**
12
+ * Contains insights for a specific navigation.
13
+ */
14
+ export type NavigationInsightData = {
15
+ [I in keyof InsightRunnersType]?: ReturnType<InsightRunnersType[I]['generateInsight']>;
16
+ };
17
+ /**
18
+ * Contains insights for the entire trace. Insights are grouped by `navigationId`.
19
+ */
20
+ export type TraceInsightData = Map<string, NavigationInsightData>;
21
+ /**
22
+ * Maps each enabled insight name to its generate function. Insights that are disabled (i.e. missing one or more dependencies) will be unset/undefined.
23
+ */
24
+ export type EnabledInsightRunners<EnabledModelHandlers extends {
25
+ [key: string]: Handlers.Types.TraceEventHandler;
26
+ }> = {
27
+ [I in keyof InsightRunnersType]?: (traceParsedData: Handlers.Types.EnabledHandlerDataWithMeta<EnabledModelHandlers>, context: NavigationInsightContext) => ReturnType<InsightRunnersType[I]['generateInsight']>;
28
+ };
29
+ /**
30
+ * Represents the narrow set of dependencies defined by an insight's `deps()` function.
31
+ */
32
+ export type RequiredData<D extends () => Array<keyof typeof Handlers.ModelHandlers>> = Pick<Handlers.Types.EnabledHandlerDataWithMeta<typeof Handlers.ModelHandlers>, ReturnType<D>[number]>;
33
+ export {};
@@ -0,0 +1,5 @@
1
+ // Copyright 2024 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/insights/types.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B","sourcesContent":["// Copyright 2024 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 Handlers from '../handlers/handlers.js';\n\nimport type * as InsightsRunners from './InsightRunners.js';\n\n/**\n * Context for which navigation an insight should look at.\n */\nexport interface NavigationInsightContext {\n frameId: string;\n navigationId: string;\n}\n\ntype InsightRunnersType = typeof InsightsRunners;\n\n/**\n * Contains insights for a specific navigation.\n */\nexport type NavigationInsightData = {\n [I in keyof InsightRunnersType]?: ReturnType<InsightRunnersType[I]['generateInsight']>;\n};\n\n/**\n * Contains insights for the entire trace. Insights are grouped by `navigationId`.\n */\nexport type TraceInsightData = Map<string, NavigationInsightData>;\n\n/**\n * Maps each enabled insight name to its generate function. Insights that are disabled (i.e. missing one or more dependencies) will be unset/undefined.\n */\nexport type EnabledInsightRunners<EnabledModelHandlers extends {[key: string]: Handlers.Types.TraceEventHandler}> = {\n [I in keyof InsightRunnersType]?: (\n traceParsedData: Handlers.Types.EnabledHandlerDataWithMeta<EnabledModelHandlers>,\n context: NavigationInsightContext) => ReturnType<InsightRunnersType[I]['generateInsight']>;\n};\n\n/**\n * Represents the narrow set of dependencies defined by an insight's `deps()` function.\n */\nexport type RequiredData<D extends() => Array<keyof typeof Handlers.ModelHandlers>> =\n Pick<Handlers.Types.EnabledHandlerDataWithMeta<typeof Handlers.ModelHandlers>, ReturnType<D>[number]>;\n"]}
@@ -59,6 +59,9 @@
59
59
  {
60
60
  "path": "helpers/bundle-tsconfig.json"
61
61
  },
62
+ {
63
+ "path": "insights/bundle-tsconfig.json"
64
+ },
62
65
  {
63
66
  "path": "root-causes/bundle-tsconfig.json"
64
67
  },
@@ -2,10 +2,11 @@ import * as EntriesFilter from './EntriesFilter.js';
2
2
  import * as Extras from './extras/extras.js';
3
3
  import * as Handlers from './handlers/handlers.js';
4
4
  import * as Helpers from './helpers/helpers.js';
5
+ import * as Insights from './insights/insights.js';
5
6
  import * as Legacy from './LegacyTracingModel.js';
6
7
  import * as TraceModel from './ModelImpl.js';
7
8
  import * as Processor from './Processor.js';
8
9
  import * as RootCauses from './root-causes/root-causes.js';
9
10
  import * as TracingManager from './TracingManager.js';
10
11
  import * as Types from './types/types.js';
11
- export { EntriesFilter, Extras, Handlers, Helpers, Legacy, Processor, RootCauses, TraceModel, TracingManager, Types, };
12
+ export { EntriesFilter, Extras, Handlers, Helpers, Insights, Legacy, Processor, RootCauses, TraceModel, TracingManager, Types, };
@@ -5,6 +5,7 @@ import * as EntriesFilter from './EntriesFilter.js';
5
5
  import * as Extras from './extras/extras.js';
6
6
  import * as Handlers from './handlers/handlers.js';
7
7
  import * as Helpers from './helpers/helpers.js';
8
+ import * as Insights from './insights/insights.js';
8
9
  // Purposefully use a shorter name here so references to this are
9
10
  // Legacy.TracingModel.
10
11
  import * as Legacy from './LegacyTracingModel.js';
@@ -13,5 +14,5 @@ import * as Processor from './Processor.js';
13
14
  import * as RootCauses from './root-causes/root-causes.js';
14
15
  import * as TracingManager from './TracingManager.js';
15
16
  import * as Types from './types/types.js';
16
- export { EntriesFilter, Extras, Handlers, Helpers, Legacy, Processor, RootCauses, TraceModel, TracingManager, Types, };
17
+ export { EntriesFilter, Extras, Handlers, Helpers, Insights, Legacy, Processor, RootCauses, TraceModel, TracingManager, Types, };
17
18
  //# sourceMappingURL=trace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../../../../front_end/models/trace/trace.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,iEAAiE;AACjE,uBAAuB;AACvB,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EACL,aAAa,EACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,GACN,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\nimport * as EntriesFilter from './EntriesFilter.js';\nimport * as Extras from './extras/extras.js';\nimport * as Handlers from './handlers/handlers.js';\nimport * as Helpers from './helpers/helpers.js';\n// Purposefully use a shorter name here so references to this are\n// Legacy.TracingModel.\nimport * as Legacy from './LegacyTracingModel.js';\nimport * as TraceModel from './ModelImpl.js';\nimport * as Processor from './Processor.js';\nimport * as RootCauses from './root-causes/root-causes.js';\nimport * as TracingManager from './TracingManager.js';\nimport * as Types from './types/types.js';\n\nexport {\n EntriesFilter,\n Extras,\n Handlers,\n Helpers,\n Legacy,\n Processor,\n RootCauses,\n TraceModel,\n TracingManager,\n Types,\n};\n"]}
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../../../../front_end/models/trace/trace.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,iEAAiE;AACjE,uBAAuB;AACvB,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EACL,aAAa,EACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,GACN,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\nimport * as EntriesFilter from './EntriesFilter.js';\nimport * as Extras from './extras/extras.js';\nimport * as Handlers from './handlers/handlers.js';\nimport * as Helpers from './helpers/helpers.js';\nimport * as Insights from './insights/insights.js';\n// Purposefully use a shorter name here so references to this are\n// Legacy.TracingModel.\nimport * as Legacy from './LegacyTracingModel.js';\nimport * as TraceModel from './ModelImpl.js';\nimport * as Processor from './Processor.js';\nimport * as RootCauses from './root-causes/root-causes.js';\nimport * as TracingManager from './TracingManager.js';\nimport * as Types from './types/types.js';\n\nexport {\n EntriesFilter,\n Extras,\n Handlers,\n Helpers,\n Insights,\n Legacy,\n Processor,\n RootCauses,\n TraceModel,\n TracingManager,\n Types,\n};\n"]}
@@ -232,6 +232,7 @@ export interface SyntheticNetworkRequest extends TraceEventComplete {
232
232
  encodedDataLength: number;
233
233
  frame: string;
234
234
  fromServiceWorker: boolean;
235
+ isLinkPreload: boolean;
235
236
  host: string;
236
237
  mimeType: string;
237
238
  pathname: string;
@@ -244,7 +245,14 @@ export interface SyntheticNetworkRequest extends TraceEventComplete {
244
245
  requestId: string;
245
246
  requestingFrameUrl: string;
246
247
  statusCode: number;
248
+ resourceType: Protocol.Network.ResourceType;
249
+ responseHeaders: Array<{
250
+ name: string;
251
+ value: string;
252
+ }>;
253
+ fetchPriorityHint: FetchPriorityHint;
247
254
  url: string;
255
+ initiator?: Initiator;
248
256
  requestMethod?: string;
249
257
  timing?: TraceEventResourceReceiveResponseTimingData;
250
258
  };
@@ -582,7 +590,15 @@ export interface SyntheticLayoutShift extends TraceEventLayoutShift {
582
590
  parsedData: LayoutShiftParsedData;
583
591
  }
584
592
  export type Priority = 'Low' | 'High' | 'Medium' | 'VeryHigh' | 'Highest';
593
+ export type FetchPriorityHint = 'low' | 'high' | 'auto';
585
594
  export type RenderBlocking = 'blocking' | 'non_blocking' | 'in_body_parser_blocking' | 'potentially_blocking';
595
+ export interface Initiator {
596
+ type: Protocol.Network.InitiatorType;
597
+ fetchType: string;
598
+ columnNumber?: number;
599
+ lineNumber?: number;
600
+ url?: string;
601
+ }
586
602
  export interface TraceEventResourceSendRequest extends TraceEventInstant {
587
603
  name: 'ResourceSendRequest';
588
604
  args: TraceEventArgs & {
@@ -591,8 +607,11 @@ export interface TraceEventResourceSendRequest extends TraceEventInstant {
591
607
  requestId: string;
592
608
  url: string;
593
609
  priority: Priority;
610
+ resourceType: Protocol.Network.ResourceType;
611
+ fetchPriorityHint: FetchPriorityHint;
594
612
  requestMethod?: string;
595
613
  renderBlocking?: RenderBlocking;
614
+ initiator?: Initiator;
596
615
  };
597
616
  };
598
617
  }
@@ -666,6 +685,11 @@ export interface TraceEventResourceReceiveResponse extends TraceEventInstant {
666
685
  responseTime: MilliSeconds;
667
686
  statusCode: number;
668
687
  timing: TraceEventResourceReceiveResponseTimingData;
688
+ isLinkPreload?: boolean;
689
+ headers?: Array<{
690
+ name: string;
691
+ value: string;
692
+ }>;
669
693
  };
670
694
  };
671
695
  }