testplane 9.1.1 → 9.2.0

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 (261) hide show
  1. package/build/package.json +2 -2
  2. package/build/src/base-testplane.d.ts +17 -1
  3. package/build/src/base-testplane.js +43 -9
  4. package/build/src/base-testplane.js.map +1 -1
  5. package/build/src/browser/browser.d.ts +3 -0
  6. package/build/src/browser/browser.js +4 -2
  7. package/build/src/browser/browser.js.map +1 -1
  8. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +19 -19
  9. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
  10. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +2 -2
  11. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +2 -2
  12. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +52 -84
  13. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +4 -1
  14. package/build/src/browser/commands/assert-view/index.js +25 -2
  15. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  16. package/build/src/browser/existing-browser.js +8 -1
  17. package/build/src/browser/existing-browser.js.map +1 -1
  18. package/build/src/browser/history/index.d.ts +4 -2
  19. package/build/src/browser/history/index.js +146 -67
  20. package/build/src/browser/history/index.js.map +1 -1
  21. package/build/src/browser/new-browser.js +1 -1
  22. package/build/src/browser/new-browser.js.map +1 -1
  23. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +5 -0
  24. package/build/src/browser/screen-shooter/elements-screen-shooter.js +102 -55
  25. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
  26. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +4 -0
  27. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +29 -7
  28. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
  29. package/build/src/browser-pool/basic-pool.d.ts +4 -3
  30. package/build/src/browser-pool/basic-pool.js +39 -7
  31. package/build/src/browser-pool/basic-pool.js.map +1 -1
  32. package/build/src/browser-pool/caching-pool.d.ts +3 -2
  33. package/build/src/browser-pool/caching-pool.js +19 -7
  34. package/build/src/browser-pool/caching-pool.js.map +1 -1
  35. package/build/src/browser-pool/index.d.ts +2 -1
  36. package/build/src/browser-pool/index.js +8 -4
  37. package/build/src/browser-pool/index.js.map +1 -1
  38. package/build/src/browser-pool/limited-pool.d.ts +5 -1
  39. package/build/src/browser-pool/limited-pool.js +42 -4
  40. package/build/src/browser-pool/limited-pool.js.map +1 -1
  41. package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -2
  42. package/build/src/browser-pool/per-browser-limited-pool.js +2 -1
  43. package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
  44. package/build/src/browser-pool/types.d.ts +8 -0
  45. package/build/src/cli/commands/config/index.js +7 -3
  46. package/build/src/cli/commands/config/index.js.map +1 -1
  47. package/build/src/cli/commands/install-deps/index.js +46 -38
  48. package/build/src/cli/commands/install-deps/index.js.map +1 -1
  49. package/build/src/cli/commands/list-browsers/index.js +15 -11
  50. package/build/src/cli/commands/list-browsers/index.js.map +1 -1
  51. package/build/src/cli/commands/list-tests/index.js +25 -21
  52. package/build/src/cli/commands/list-tests/index.js.map +1 -1
  53. package/build/src/cli/commands/selectivity-merge-dumps/index.js +12 -5
  54. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -1
  55. package/build/src/cli/index.js +10 -6
  56. package/build/src/cli/index.js.map +1 -1
  57. package/build/src/config/defaults.d.ts +5 -0
  58. package/build/src/config/defaults.js +4 -0
  59. package/build/src/config/defaults.js.map +1 -1
  60. package/build/src/config/index.d.ts +6 -4
  61. package/build/src/config/index.js +60 -19
  62. package/build/src/config/index.js.map +1 -1
  63. package/build/src/config/options.js +26 -0
  64. package/build/src/config/options.js.map +1 -1
  65. package/build/src/config/types.d.ts +19 -0
  66. package/build/src/constants/process-messages.d.ts +3 -0
  67. package/build/src/constants/process-messages.js +4 -1
  68. package/build/src/constants/process-messages.js.map +1 -1
  69. package/build/src/events/async-emitter/index.d.ts +38 -0
  70. package/build/src/events/async-emitter/index.js +248 -5
  71. package/build/src/events/async-emitter/index.js.map +1 -1
  72. package/build/src/events/index.d.ts +3 -0
  73. package/build/src/events/index.js +1 -0
  74. package/build/src/events/index.js.map +1 -1
  75. package/build/src/index.d.ts +2 -1
  76. package/build/src/profiler/analysis/aggregator.d.ts +19 -0
  77. package/build/src/profiler/analysis/aggregator.js +229 -0
  78. package/build/src/profiler/analysis/aggregator.js.map +1 -0
  79. package/build/src/profiler/analysis/analyzers.d.ts +10 -0
  80. package/build/src/profiler/analysis/analyzers.js +1228 -0
  81. package/build/src/profiler/analysis/analyzers.js.map +1 -0
  82. package/build/src/profiler/analysis/compact.d.ts +5 -0
  83. package/build/src/profiler/analysis/compact.js +46 -0
  84. package/build/src/profiler/analysis/compact.js.map +1 -0
  85. package/build/src/profiler/analysis/finding-order.d.ts +4 -0
  86. package/build/src/profiler/analysis/finding-order.js +28 -0
  87. package/build/src/profiler/analysis/finding-order.js.map +1 -0
  88. package/build/src/profiler/analysis/outliers.d.ts +6 -0
  89. package/build/src/profiler/analysis/outliers.js +49 -0
  90. package/build/src/profiler/analysis/outliers.js.map +1 -0
  91. package/build/src/profiler/analysis/policy-v1.d.ts +71 -0
  92. package/build/src/profiler/analysis/policy-v1.js +43 -0
  93. package/build/src/profiler/analysis/policy-v1.js.map +1 -0
  94. package/build/src/profiler/collectors/module-graph.d.ts +14 -0
  95. package/build/src/profiler/collectors/module-graph.js +99 -0
  96. package/build/src/profiler/collectors/module-graph.js.map +1 -0
  97. package/build/src/profiler/collectors/pool-observer.d.ts +9 -0
  98. package/build/src/profiler/collectors/pool-observer.js +40 -0
  99. package/build/src/profiler/collectors/pool-observer.js.map +1 -0
  100. package/build/src/profiler/manager.d.ts +55 -0
  101. package/build/src/profiler/manager.js +343 -0
  102. package/build/src/profiler/manager.js.map +1 -0
  103. package/build/src/profiler/output/console.d.ts +6 -0
  104. package/build/src/profiler/output/console.js +443 -0
  105. package/build/src/profiler/output/console.js.map +1 -0
  106. package/build/src/profiler/output/json.d.ts +2 -0
  107. package/build/src/profiler/output/json.js +24 -0
  108. package/build/src/profiler/output/json.js.map +1 -0
  109. package/build/src/profiler/retention/operation-store.d.ts +22 -0
  110. package/build/src/profiler/retention/operation-store.js +110 -0
  111. package/build/src/profiler/retention/operation-store.js.map +1 -0
  112. package/build/src/profiler/retention/policy-v1.d.ts +22 -0
  113. package/build/src/profiler/retention/policy-v1.js +49 -0
  114. package/build/src/profiler/retention/policy-v1.js.map +1 -0
  115. package/build/src/profiler/retention/result-budget.d.ts +2 -0
  116. package/build/src/profiler/retention/result-budget.js +117 -0
  117. package/build/src/profiler/retention/result-budget.js.map +1 -0
  118. package/build/src/profiler/retention/serialized-budget.d.ts +5 -0
  119. package/build/src/profiler/retention/serialized-budget.js +58 -0
  120. package/build/src/profiler/retention/serialized-budget.js.map +1 -0
  121. package/build/src/profiler/retention/streaming-statistics.d.ts +38 -0
  122. package/build/src/profiler/retention/streaming-statistics.js +191 -0
  123. package/build/src/profiler/retention/streaming-statistics.js.map +1 -0
  124. package/build/src/profiler/retention/top-k.d.ts +13 -0
  125. package/build/src/profiler/retention/top-k.js +57 -0
  126. package/build/src/profiler/retention/top-k.js.map +1 -0
  127. package/build/src/profiler/runtime/async-activity.d.ts +19 -0
  128. package/build/src/profiler/runtime/async-activity.js +113 -0
  129. package/build/src/profiler/runtime/async-activity.js.map +1 -0
  130. package/build/src/profiler/runtime/bootstrap-probe.d.ts +42 -0
  131. package/build/src/profiler/runtime/bootstrap-probe.js +91 -0
  132. package/build/src/profiler/runtime/bootstrap-probe.js.map +1 -0
  133. package/build/src/profiler/runtime/clock.d.ts +22 -0
  134. package/build/src/profiler/runtime/clock.js +15 -0
  135. package/build/src/profiler/runtime/clock.js.map +1 -0
  136. package/build/src/profiler/runtime/event-observer.d.ts +4 -0
  137. package/build/src/profiler/runtime/event-observer.js +142 -0
  138. package/build/src/profiler/runtime/event-observer.js.map +1 -0
  139. package/build/src/profiler/runtime/noop.d.ts +20 -0
  140. package/build/src/profiler/runtime/noop.js +37 -0
  141. package/build/src/profiler/runtime/noop.js.map +1 -0
  142. package/build/src/profiler/runtime/runtime.d.ts +95 -0
  143. package/build/src/profiler/runtime/runtime.js +1343 -0
  144. package/build/src/profiler/runtime/runtime.js.map +1 -0
  145. package/build/src/profiler/runtime/types.d.ts +88 -0
  146. package/build/src/profiler/runtime/types.js +3 -0
  147. package/build/src/profiler/runtime/types.js.map +1 -0
  148. package/build/src/profiler/sanitize.d.ts +15 -0
  149. package/build/src/profiler/sanitize.js +194 -0
  150. package/build/src/profiler/sanitize.js.map +1 -0
  151. package/build/src/profiler/schema/index.d.ts +1 -0
  152. package/build/src/profiler/schema/index.js +18 -0
  153. package/build/src/profiler/schema/index.js.map +1 -0
  154. package/build/src/profiler/schema/v1.d.ts +281 -0
  155. package/build/src/profiler/schema/v1.js +3 -0
  156. package/build/src/profiler/schema/v1.js.map +1 -0
  157. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +30 -0
  158. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -1
  159. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  160. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +31 -6
  161. package/build/src/runner/browser-env/vite/browser-modules/types.js +8 -8
  162. package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -1
  163. package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +7 -1
  164. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +28 -6
  165. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
  166. package/build/src/runner/browser-env/vite/server.js +17 -1
  167. package/build/src/runner/browser-env/vite/server.js.map +1 -1
  168. package/build/src/runner/browser-env/vite/socket.js +4 -0
  169. package/build/src/runner/browser-env/vite/socket.js.map +1 -1
  170. package/build/src/runner/browser-env/vite/types.d.ts +9 -7
  171. package/build/src/runner/browser-env/vite/types.js +8 -8
  172. package/build/src/runner/browser-env/vite/types.js.map +1 -1
  173. package/build/src/runner/browser-env/vite/utils.js +9 -2
  174. package/build/src/runner/browser-env/vite/utils.js.map +1 -1
  175. package/build/src/runner/browser-runner.d.ts +3 -1
  176. package/build/src/runner/browser-runner.js +4 -2
  177. package/build/src/runner/browser-runner.js.map +1 -1
  178. package/build/src/runner/index.d.ts +3 -1
  179. package/build/src/runner/index.js +7 -4
  180. package/build/src/runner/index.js.map +1 -1
  181. package/build/src/runner/test-runner/index.d.ts +2 -1
  182. package/build/src/runner/test-runner/index.js +2 -2
  183. package/build/src/runner/test-runner/index.js.map +1 -1
  184. package/build/src/runner/test-runner/insistant-test-runner.d.ts +2 -1
  185. package/build/src/runner/test-runner/insistant-test-runner.js +3 -2
  186. package/build/src/runner/test-runner/insistant-test-runner.js.map +1 -1
  187. package/build/src/runner/test-runner/regular-test-runner.d.ts +9 -3
  188. package/build/src/runner/test-runner/regular-test-runner.js +77 -16
  189. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  190. package/build/src/signal-handler.js +14 -5
  191. package/build/src/signal-handler.js.map +1 -1
  192. package/build/src/test-reader/index.d.ts +2 -1
  193. package/build/src/test-reader/index.js +19 -10
  194. package/build/src/test-reader/index.js.map +1 -1
  195. package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
  196. package/build/src/test-reader/mocha-reader/index.js +41 -24
  197. package/build/src/test-reader/mocha-reader/index.js.map +1 -1
  198. package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +2 -2
  199. package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
  200. package/build/src/test-reader/mocha-reader/utils.d.ts +2 -0
  201. package/build/src/test-reader/mocha-reader/utils.js +18 -2
  202. package/build/src/test-reader/mocha-reader/utils.js.map +1 -1
  203. package/build/src/test-reader/test-object/hook.d.ts +4 -2
  204. package/build/src/test-reader/test-object/hook.js +3 -1
  205. package/build/src/test-reader/test-object/hook.js.map +1 -1
  206. package/build/src/test-reader/test-parser.d.ts +2 -1
  207. package/build/src/test-reader/test-parser.js +48 -4
  208. package/build/src/test-reader/test-parser.js.map +1 -1
  209. package/build/src/testplane.d.ts +6 -2
  210. package/build/src/testplane.js +82 -27
  211. package/build/src/testplane.js.map +1 -1
  212. package/build/src/types/index.d.ts +4 -1
  213. package/build/src/types/index.js.map +1 -1
  214. package/build/src/utils/exit-code.d.ts +1 -0
  215. package/build/src/utils/exit-code.js +28 -0
  216. package/build/src/utils/exit-code.js.map +1 -0
  217. package/build/src/utils/module-observer-registry.d.ts +43 -0
  218. package/build/src/utils/module-observer-registry.js +257 -0
  219. package/build/src/utils/module-observer-registry.js.map +1 -0
  220. package/build/src/utils/processor.js +1 -0
  221. package/build/src/utils/processor.js.map +1 -1
  222. package/build/src/utils/workers-registry.d.ts +48 -1
  223. package/build/src/utils/workers-registry.js +162 -4
  224. package/build/src/utils/workers-registry.js.map +1 -1
  225. package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +15 -1
  226. package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -1
  227. package/build/src/worker/browser-env/runner/test-runner/index.js +20 -0
  228. package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
  229. package/build/src/worker/index.js +39 -1
  230. package/build/src/worker/index.js.map +1 -1
  231. package/build/src/worker/runner/browser-pool.d.ts +3 -2
  232. package/build/src/worker/runner/browser-pool.js +5 -3
  233. package/build/src/worker/runner/browser-pool.js.map +1 -1
  234. package/build/src/worker/runner/caching-test-parser.d.ts +6 -1
  235. package/build/src/worker/runner/caching-test-parser.js +40 -4
  236. package/build/src/worker/runner/caching-test-parser.js.map +1 -1
  237. package/build/src/worker/runner/index.d.ts +10 -9
  238. package/build/src/worker/runner/index.js +52 -6
  239. package/build/src/worker/runner/index.js.map +1 -1
  240. package/build/src/worker/runner/sequence-test-parser.d.ts +4 -1
  241. package/build/src/worker/runner/sequence-test-parser.js +17 -3
  242. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  243. package/build/src/worker/runner/simple-test-parser.d.ts +3 -1
  244. package/build/src/worker/runner/simple-test-parser.js +4 -2
  245. package/build/src/worker/runner/simple-test-parser.js.map +1 -1
  246. package/build/src/worker/runner/test-runner/execution-thread.d.ts +20 -2
  247. package/build/src/worker/runner/test-runner/execution-thread.js +37 -2
  248. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  249. package/build/src/worker/runner/test-runner/hook-runner.d.ts +1 -1
  250. package/build/src/worker/runner/test-runner/hook-runner.js +4 -4
  251. package/build/src/worker/runner/test-runner/hook-runner.js.map +1 -1
  252. package/build/src/worker/runner/test-runner/index.d.ts +8 -7
  253. package/build/src/worker/runner/test-runner/index.js +36 -25
  254. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  255. package/build/src/worker/runner/test-runner/types.d.ts +8 -1
  256. package/build/src/worker/testplane-facade.js +63 -4
  257. package/build/src/worker/testplane-facade.js.map +1 -1
  258. package/build/src/worker/testplane.d.ts +6 -0
  259. package/build/src/worker/testplane.js +7 -1
  260. package/build/src/worker/testplane.js.map +1 -1
  261. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzers.js","sourceRoot":"","sources":["../../../../src/profiler/analysis/analyzers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Finding, RetainedOperation } from "../schema";
2
+ export declare function compactProfileReferences(timeline: RetainedOperation[], findings: Finding[]): {
3
+ timeline: RetainedOperation[];
4
+ findings: Finding[];
5
+ };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compactProfileReferences = void 0;
4
+ function compactProfileReferences(timeline, findings) {
5
+ const compactIdByOriginalId = new Map();
6
+ const root = timeline.find(operation => operation.kind === "testplane.operation");
7
+ const operationsInIdOrder = root ? [root, ...timeline.filter(operation => operation !== root)] : timeline;
8
+ for (const operation of operationsInIdOrder) {
9
+ compactIdByOriginalId.set(operation.id, `op:${compactIdByOriginalId.size.toString(36)}`);
10
+ }
11
+ const getCompactId = (originalId) => {
12
+ const compactId = compactIdByOriginalId.get(originalId);
13
+ if (compactId) {
14
+ return compactId;
15
+ }
16
+ const newCompactId = `op:${compactIdByOriginalId.size.toString(36)}`;
17
+ compactIdByOriginalId.set(originalId, newCompactId);
18
+ return newCompactId;
19
+ };
20
+ return {
21
+ timeline: timeline.map(operation => ({
22
+ ...operation,
23
+ id: getCompactId(operation.id),
24
+ parentId: operation.parentId === undefined ? undefined : getCompactId(operation.parentId),
25
+ context: compactContext(operation.context, getCompactId),
26
+ })),
27
+ findings: findings.map(finding => ({
28
+ ...finding,
29
+ operationIds: finding.operationIds.map(getCompactId),
30
+ evidence: finding.evidence.map(item => ({
31
+ ...item,
32
+ operationId: item.operationId === undefined ? undefined : getCompactId(item.operationId),
33
+ })),
34
+ })),
35
+ };
36
+ }
37
+ exports.compactProfileReferences = compactProfileReferences;
38
+ function compactContext(context, getCompactId) {
39
+ const result = { ...context };
40
+ delete result.runId;
41
+ if (result.spanId !== undefined) {
42
+ result.spanId = getCompactId(result.spanId);
43
+ }
44
+ return result;
45
+ }
46
+ //# sourceMappingURL=compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../../src/profiler/analysis/compact.ts"],"names":[],"mappings":";;;AAEA,SAAgB,wBAAwB,CACpC,QAA6B,EAC7B,QAAmB;IAEnB,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;IAClF,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE1G,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC1C,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAU,EAAE;QAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACrE,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjC,GAAG,SAAS;YACZ,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzF,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;SAC3D,CAAC,CAAC;QACH,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,GAAG,OAAO;YACV,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;YACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,GAAG,IAAI;gBACP,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;aAC3F,CAAC,CAAC;SACN,CAAC,CAAC;KACN,CAAC;AACN,CAAC;AAvCD,4DAuCC;AAED,SAAS,cAAc,CAAC,OAA2B,EAAE,YAAoC;IACrF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC;IACpB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Finding } from "../schema";
2
+ type ComparableFinding = Pick<Finding, "confidence" | "evidence">;
3
+ export declare function compareFindings(left: ComparableFinding, right: ComparableFinding): number;
4
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareFindings = void 0;
4
+ const CONFIDENCE_RANK = { high: 3, medium: 2, low: 1 };
5
+ const TIME_IMPACT_METRICS = [
6
+ "browserTail",
7
+ "observedUnionWall",
8
+ "totalWall",
9
+ "unattributedWall",
10
+ "wall",
11
+ "concurrentWorkerCallOverlap",
12
+ "eventLoopDelayP95",
13
+ ];
14
+ function compareFindings(left, right) {
15
+ return (CONFIDENCE_RANK[right.confidence] - CONFIDENCE_RANK[left.confidence] ||
16
+ findingImpactMs(right) - findingImpactMs(left));
17
+ }
18
+ exports.compareFindings = compareFindings;
19
+ function findingImpactMs(finding) {
20
+ for (const metric of TIME_IMPACT_METRICS) {
21
+ const evidence = finding.evidence.find(candidate => candidate.metric === metric);
22
+ if (evidence?.unit === "ms" && typeof evidence.value === "number") {
23
+ return evidence.value;
24
+ }
25
+ }
26
+ return 0;
27
+ }
28
+ //# sourceMappingURL=finding-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding-order.js","sourceRoot":"","sources":["../../../../src/profiler/analysis/finding-order.ts"],"names":[],"mappings":";;;AAIA,MAAM,eAAe,GAAuC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAC3F,MAAM,mBAAmB,GAAG;IACxB,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,kBAAkB;IAClB,MAAM;IACN,6BAA6B;IAC7B,mBAAmB;CACtB,CAAC;AAEF,SAAgB,eAAe,CAAC,IAAuB,EAAE,KAAwB;IAC7E,OAAO,CACH,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;QACpE,eAAe,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CACjD,CAAC;AACN,CAAC;AALD,0CAKC;AAED,SAAS,eAAe,CAAC,OAA0B;IAC/C,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface OutlierResult<T> {
2
+ item: T;
3
+ measurement: number;
4
+ }
5
+ export declare const findRobustOutliers: <T>(items: T[], getMeasurement: (item: T) => number, deviationMultiplier?: number) => OutlierResult<T>[];
6
+ export {};
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findRobustOutliers = void 0;
4
+ // Median absolute deviation is the median distance from the median value.
5
+ // For a normal distribution, it is about 0.6745 of the standard deviation.
6
+ // 1 / 0.6745 is about 1.4826, so this factor puts both measures on the same scale.
7
+ const MEDIAN_ABSOLUTE_DEVIATION_SCALE = 1.4826;
8
+ // The fallback uses a common rule: the 75th percentile plus 1.5 interquartile ranges.
9
+ const INTERQUARTILE_RANGE_MULTIPLIER = 1.5;
10
+ const findRobustOutliers = (items, getMeasurement, deviationMultiplier = 3) => {
11
+ if (items.length < 8) {
12
+ return [];
13
+ }
14
+ const sortedMeasurements = items
15
+ .map(getMeasurement)
16
+ .filter(Number.isFinite)
17
+ .sort((a, b) => a - b);
18
+ if (sortedMeasurements.length < 8) {
19
+ return [];
20
+ }
21
+ const median = valueAtPercentile(sortedMeasurements, 0.5);
22
+ const absoluteDeviationsFromMedian = sortedMeasurements
23
+ .map(measurement => Math.abs(measurement - median))
24
+ .sort((a, b) => a - b);
25
+ const medianAbsoluteDeviation = valueAtPercentile(absoluteDeviationsFromMedian, 0.5);
26
+ const outlierThreshold = medianAbsoluteDeviation > 0
27
+ ? median + deviationMultiplier * MEDIAN_ABSOLUTE_DEVIATION_SCALE * medianAbsoluteDeviation
28
+ : valueAtPercentile(sortedMeasurements, 0.75) +
29
+ INTERQUARTILE_RANGE_MULTIPLIER * interquartileRange(sortedMeasurements);
30
+ const maximumOutlierCount = Math.max(3, Math.ceil(items.length * 0.1));
31
+ return items
32
+ .map(item => ({ item, measurement: getMeasurement(item) }))
33
+ .filter(candidate => candidate.measurement > outlierThreshold)
34
+ .sort((left, right) => right.measurement - left.measurement)
35
+ .slice(0, maximumOutlierCount);
36
+ };
37
+ exports.findRobustOutliers = findRobustOutliers;
38
+ function valueAtPercentile(sortedValues, percentile) {
39
+ if (!sortedValues.length) {
40
+ return 0;
41
+ }
42
+ return sortedValues[Math.min(sortedValues.length - 1, Math.floor((sortedValues.length - 1) * percentile))];
43
+ }
44
+ function interquartileRange(sortedValues) {
45
+ // The interquartile range is the distance from the 25th to the 75th percentile.
46
+ // It measures the spread of the middle half of the values.
47
+ return valueAtPercentile(sortedValues, 0.75) - valueAtPercentile(sortedValues, 0.25);
48
+ }
49
+ //# sourceMappingURL=outliers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outliers.js","sourceRoot":"","sources":["../../../../src/profiler/analysis/outliers.ts"],"names":[],"mappings":";;;AAKA,0EAA0E;AAC1E,2EAA2E;AAC3E,mFAAmF;AACnF,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAE/C,sFAAsF;AACtF,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAEpC,MAAM,kBAAkB,GAAG,CAC9B,KAAU,EACV,cAAmC,EACnC,mBAAmB,GAAG,CAAC,EACL,EAAE;IACpB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK;SAC3B,GAAG,CAAC,cAAc,CAAC;SACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,4BAA4B,GAAG,kBAAkB;SAClD,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;SAClD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACrF,MAAM,gBAAgB,GAClB,uBAAuB,GAAG,CAAC;QACvB,CAAC,CAAC,MAAM,GAAG,mBAAmB,GAAG,+BAA+B,GAAG,uBAAuB;QAC1F,CAAC,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC;YAC3C,8BAA8B,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAClF,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvE,OAAO,KAAK;SACP,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1D,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,GAAG,gBAAgB,CAAC;SAC7D,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SAC3D,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACvC,CAAC,CAAC;AAlCW,QAAA,kBAAkB,sBAkC7B;AAEF,SAAS,iBAAiB,CAAC,YAAsB,EAAE,UAAkB;IACjE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAsB;IAC9C,gFAAgF;IAChF,2DAA2D;IAC3D,OAAO,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACzF,CAAC"}
@@ -0,0 +1,71 @@
1
+ export declare const ANALYSIS_POLICY_V1: Readonly<{
2
+ version: 1;
3
+ longRun: {
4
+ thresholdMs: number;
5
+ };
6
+ majorPhase: {
7
+ minWallMs: number;
8
+ minRunShare: number;
9
+ minListenerWallMs: number;
10
+ minListenerShare: number;
11
+ maxListeners: number;
12
+ };
13
+ eventListener: {
14
+ minSingleWallMs: number;
15
+ minTotalWallMs: number;
16
+ minRunShare: number;
17
+ minMeanWallMs: number;
18
+ };
19
+ testFile: {
20
+ minWallMs: number;
21
+ minGroupShare: number;
22
+ };
23
+ slowTest: {
24
+ minWallMs: number;
25
+ minExecutionShare: number;
26
+ minMeanMultiple: number;
27
+ minSampleForRelative: number;
28
+ };
29
+ commonHook: {
30
+ minTotalWallMs: number;
31
+ minCalls: number;
32
+ minExecutionShare: number;
33
+ minMeanWallMs: number;
34
+ };
35
+ command: {
36
+ minWallMs: number;
37
+ minExecutionShare: number;
38
+ minMeanWallMs: number;
39
+ };
40
+ pause: {
41
+ minTotalWallMs: number;
42
+ minCalls: number;
43
+ minSingleWallMs: number;
44
+ minShare: number;
45
+ };
46
+ unattributed: {
47
+ minWallMs: number;
48
+ minShare: number;
49
+ };
50
+ workers: {
51
+ minExecutionMs: number;
52
+ minMedianWorkerEventLoopUtilization: number;
53
+ minSustainedEventLoopDelayMs: number;
54
+ minConcurrentCallOverlapMs: number;
55
+ minConcurrentCallOverlapShare: number;
56
+ maxHostCpu95thPercentile: number;
57
+ };
58
+ sessions: {
59
+ minAttempts: number;
60
+ minLimitSaturationShare: number;
61
+ minTailMs: number;
62
+ minTailShare: number;
63
+ };
64
+ hostCpu: {
65
+ high95thPercentile: number;
66
+ };
67
+ resources: {
68
+ minSamples: number;
69
+ healthyMedianEventLoopDelayMs: number;
70
+ };
71
+ }>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ANALYSIS_POLICY_V1 = void 0;
4
+ exports.ANALYSIS_POLICY_V1 = Object.freeze({
5
+ version: 1,
6
+ longRun: { thresholdMs: 20 * 60 * 1000 },
7
+ majorPhase: {
8
+ minWallMs: 1000,
9
+ minRunShare: 0.1,
10
+ minListenerWallMs: 100,
11
+ minListenerShare: 0.05,
12
+ maxListeners: 3,
13
+ },
14
+ eventListener: {
15
+ minSingleWallMs: 100,
16
+ minTotalWallMs: 500,
17
+ minRunShare: 0.05,
18
+ minMeanWallMs: 100,
19
+ },
20
+ testFile: { minWallMs: 250, minGroupShare: 0.1 },
21
+ slowTest: { minWallMs: 10000, minExecutionShare: 0.05, minMeanMultiple: 3, minSampleForRelative: 5 },
22
+ commonHook: { minTotalWallMs: 1000, minCalls: 10, minExecutionShare: 0.1, minMeanWallMs: 10000 },
23
+ command: { minWallMs: 10000, minExecutionShare: 0.05, minMeanWallMs: 3000 },
24
+ pause: { minTotalWallMs: 5000, minCalls: 3, minSingleWallMs: 5000, minShare: 0.1 },
25
+ unattributed: { minWallMs: 2000, minShare: 0.15 },
26
+ workers: {
27
+ minExecutionMs: 10000,
28
+ minMedianWorkerEventLoopUtilization: 0.8,
29
+ minSustainedEventLoopDelayMs: 50,
30
+ minConcurrentCallOverlapMs: 1000,
31
+ minConcurrentCallOverlapShare: 0.1,
32
+ maxHostCpu95thPercentile: 0.75,
33
+ },
34
+ sessions: {
35
+ minAttempts: 20,
36
+ minLimitSaturationShare: 0.3,
37
+ minTailMs: 5000,
38
+ minTailShare: 0.1,
39
+ },
40
+ hostCpu: { high95thPercentile: 0.85 },
41
+ resources: { minSamples: 20, healthyMedianEventLoopDelayMs: 20 },
42
+ });
43
+ //# sourceMappingURL=policy-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-v1.js","sourceRoot":"","sources":["../../../../src/profiler/analysis/policy-v1.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE;IACxC,UAAU,EAAE;QACR,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,GAAG;QACtB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,CAAC;KAClB;IACD,aAAa,EAAE;QACX,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,GAAG;KACrB;IACD,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IAChD,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE;IACpG,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE;IAChG,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC3E,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;IAClF,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACjD,OAAO,EAAE;QACL,cAAc,EAAE,KAAK;QACrB,mCAAmC,EAAE,GAAG;QACxC,4BAA4B,EAAE,EAAE;QAChC,0BAA0B,EAAE,IAAI;QAChC,6BAA6B,EAAE,GAAG;QAClC,wBAAwB,EAAE,IAAI;KACjC;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,EAAE;QACf,uBAAuB,EAAE,GAAG;QAC5B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;KACpB;IACD,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACrC,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,6BAA6B,EAAE,EAAE,EAAE;CACnE,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ProfilerRuntimeLike } from "../runtime/types";
2
+ export declare class ProfilerModuleGraphCollector {
3
+ private readonly _runtime;
4
+ private readonly _context;
5
+ private readonly _sanitizer;
6
+ private readonly _registration;
7
+ private _restore?;
8
+ constructor(_runtime: ProfilerRuntimeLike);
9
+ enterFile(file: string): void;
10
+ leaveFile(): void;
11
+ dispose(): void;
12
+ private _onLoadStart;
13
+ private _onLoadEnd;
14
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfilerModuleGraphCollector = void 0;
4
+ const node_async_hooks_1 = require("node:async_hooks");
5
+ const node_url_1 = require("node:url");
6
+ const module_observer_registry_1 = require("../../utils/module-observer-registry");
7
+ const sanitize_1 = require("../sanitize");
8
+ class ProfilerModuleGraphCollector {
9
+ constructor(_runtime) {
10
+ this._runtime = _runtime;
11
+ this._context = new node_async_hooks_1.AsyncLocalStorage();
12
+ this._sanitizer = new sanitize_1.ProfilerSanitizer();
13
+ this._registration = module_observer_registry_1.moduleObserverRegistry.register({
14
+ onLoadStart: info => this._onLoadStart(info),
15
+ onLoadEnd: (_info, token, error) => this._onLoadEnd(token, error),
16
+ onError: error => this._runtime.recordError("moduleGraph", error),
17
+ });
18
+ }
19
+ enterFile(file) {
20
+ this.leaveFile();
21
+ const restoreRegistry = this._registration.enter();
22
+ const previous = this._context.getStore();
23
+ this._context.enterWith({ ownerFile: this._sanitizer.path(file), stack: [] });
24
+ this._restore = () => {
25
+ this._context.enterWith(previous ?? { ownerFile: "<unknown>", stack: [] });
26
+ restoreRegistry();
27
+ };
28
+ }
29
+ leaveFile() {
30
+ this._restore?.();
31
+ this._restore = undefined;
32
+ }
33
+ dispose() {
34
+ this.leaveFile();
35
+ this._registration.dispose();
36
+ }
37
+ _onLoadStart(info) {
38
+ const context = this._context.getStore();
39
+ if (!context) {
40
+ return;
41
+ }
42
+ const moduleName = normalizeModuleName(info.resolved ?? info.request, this._sanitizer);
43
+ const parent = info.parent ? normalizeModuleName(info.parent, this._sanitizer) : null;
44
+ const span = this._runtime.startSpan("module.load", {
45
+ minLevel: 3,
46
+ name: moduleName,
47
+ parentId: context.stack.at(-1)?.id,
48
+ attributes: {
49
+ module: moduleName,
50
+ parent,
51
+ ownerFile: context.ownerFile,
52
+ cacheHit: info.cacheHit,
53
+ moduleSystem: info.moduleSystem,
54
+ },
55
+ quality: {
56
+ timing: "exact",
57
+ cpu: "thread",
58
+ notes: [
59
+ info.moduleSystem === "cjs"
60
+ ? "CommonJS load/evaluation boundary"
61
+ : "ESM source load boundary; evaluation time is not attributed to this module",
62
+ ],
63
+ },
64
+ });
65
+ context.stack.push(span);
66
+ this._runtime.increment(info.cacheHit ? "module.cacheHit" : "module.cacheMiss", 1, { module: moduleName });
67
+ return { span };
68
+ }
69
+ _onLoadEnd(token, error) {
70
+ if (!token) {
71
+ return;
72
+ }
73
+ token.span.end(error ? "failed" : "completed");
74
+ const stack = this._context.getStore()?.stack;
75
+ const index = stack?.lastIndexOf(token.span) ?? -1;
76
+ if (index >= 0) {
77
+ stack.splice(index, 1);
78
+ }
79
+ }
80
+ }
81
+ exports.ProfilerModuleGraphCollector = ProfilerModuleGraphCollector;
82
+ function normalizeModuleName(value, sanitizer) {
83
+ if (value.startsWith("node:")) {
84
+ return value;
85
+ }
86
+ if (!value.includes("/") && !value.includes("\\")) {
87
+ return value.slice(0, 200);
88
+ }
89
+ if (value.startsWith("file:")) {
90
+ try {
91
+ return sanitizer.path((0, node_url_1.fileURLToPath)(value));
92
+ }
93
+ catch {
94
+ return "<invalid-module-url>";
95
+ }
96
+ }
97
+ return sanitizer.path(value);
98
+ }
99
+ //# sourceMappingURL=module-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-graph.js","sourceRoot":"","sources":["../../../../src/profiler/collectors/module-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { PoolObserver, PoolObserverOperation } from "../../browser-pool/types";
2
+ import type { ProfilerRuntimeLike } from "../runtime/types";
3
+ export declare class ProfilerPoolObserver implements PoolObserver {
4
+ private readonly _runtime;
5
+ private readonly _peaks;
6
+ constructor(_runtime: ProfilerRuntimeLike);
7
+ start(kind: string, data: Record<string, string | number | boolean | null>): PoolObserverOperation;
8
+ record(event: string, data: Record<string, string | number | boolean | null>): void;
9
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfilerPoolObserver = void 0;
4
+ class ProfilerPoolObserver {
5
+ constructor(_runtime) {
6
+ this._runtime = _runtime;
7
+ this._peaks = new Map();
8
+ }
9
+ start(kind, data) {
10
+ const browserId = typeof data.browserId === "string" ? data.browserId : undefined;
11
+ const span = this._runtime.startSpan(kind, {
12
+ minLevel: kind === "browser.session.create" ? 1 : 2,
13
+ name: browserId ? `${kind}:${browserId}` : kind,
14
+ context: browserId ? { browserId } : undefined,
15
+ attributes: data,
16
+ });
17
+ return { end: status => span.end(status) };
18
+ }
19
+ record(event, data) {
20
+ const dimensions = Object.fromEntries(Object.entries(data).filter(([, value]) => typeof value === "string" || typeof value === "boolean"));
21
+ const metricValue = typeof data.value === "number" ? data.value : 1;
22
+ if (event.endsWith("Depth") || event.endsWith("Active") || event.endsWith("Launched")) {
23
+ this._runtime.sample(`browser.pool.${event}`, metricValue, dimensions);
24
+ const key = `${event}\0${JSON.stringify(dimensions)}`;
25
+ const peak = Math.max(this._peaks.get(key) ?? 0, metricValue);
26
+ this._peaks.set(key, peak);
27
+ this._runtime.sample(`browser.pool.${event}.peak`, peak, dimensions);
28
+ this._runtime.increment(`browser.pool.${event}.sampleTotal`, metricValue, dimensions);
29
+ this._runtime.increment(`browser.pool.${event}.sampleCount`, 1, dimensions);
30
+ if (event === "sessionsLaunched" && typeof data.limit === "number" && metricValue >= data.limit) {
31
+ this._runtime.increment(`browser.pool.${event}.saturatedSampleCount`, 1, dimensions);
32
+ }
33
+ }
34
+ else {
35
+ this._runtime.increment(`browser.pool.${event}`, metricValue, dimensions);
36
+ }
37
+ }
38
+ }
39
+ exports.ProfilerPoolObserver = ProfilerPoolObserver;
40
+ //# sourceMappingURL=pool-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-observer.js","sourceRoot":"","sources":["../../../../src/profiler/collectors/pool-observer.ts"],"names":[],"mappings":"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"}