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.
- package/build/package.json +2 -2
- package/build/src/base-testplane.d.ts +17 -1
- package/build/src/base-testplane.js +43 -9
- package/build/src/base-testplane.js.map +1 -1
- package/build/src/browser/browser.d.ts +3 -0
- package/build/src/browser/browser.js +4 -2
- package/build/src/browser/browser.js.map +1 -1
- package/build/src/browser/cdp/selectivity/testplane-selectivity.js +19 -19
- package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
- package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +2 -2
- package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +2 -2
- package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +52 -84
- package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +4 -1
- package/build/src/browser/commands/assert-view/index.js +25 -2
- package/build/src/browser/commands/assert-view/index.js.map +1 -1
- package/build/src/browser/existing-browser.js +8 -1
- package/build/src/browser/existing-browser.js.map +1 -1
- package/build/src/browser/history/index.d.ts +4 -2
- package/build/src/browser/history/index.js +146 -67
- package/build/src/browser/history/index.js.map +1 -1
- package/build/src/browser/new-browser.js +1 -1
- package/build/src/browser/new-browser.js.map +1 -1
- package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +5 -0
- package/build/src/browser/screen-shooter/elements-screen-shooter.js +102 -55
- package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
- package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +4 -0
- package/build/src/browser/screen-shooter/viewport-screen-shooter.js +29 -7
- package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
- package/build/src/browser-pool/basic-pool.d.ts +4 -3
- package/build/src/browser-pool/basic-pool.js +39 -7
- package/build/src/browser-pool/basic-pool.js.map +1 -1
- package/build/src/browser-pool/caching-pool.d.ts +3 -2
- package/build/src/browser-pool/caching-pool.js +19 -7
- package/build/src/browser-pool/caching-pool.js.map +1 -1
- package/build/src/browser-pool/index.d.ts +2 -1
- package/build/src/browser-pool/index.js +8 -4
- package/build/src/browser-pool/index.js.map +1 -1
- package/build/src/browser-pool/limited-pool.d.ts +5 -1
- package/build/src/browser-pool/limited-pool.js +42 -4
- package/build/src/browser-pool/limited-pool.js.map +1 -1
- package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -2
- package/build/src/browser-pool/per-browser-limited-pool.js +2 -1
- package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
- package/build/src/browser-pool/types.d.ts +8 -0
- package/build/src/cli/commands/config/index.js +7 -3
- package/build/src/cli/commands/config/index.js.map +1 -1
- package/build/src/cli/commands/install-deps/index.js +46 -38
- package/build/src/cli/commands/install-deps/index.js.map +1 -1
- package/build/src/cli/commands/list-browsers/index.js +15 -11
- package/build/src/cli/commands/list-browsers/index.js.map +1 -1
- package/build/src/cli/commands/list-tests/index.js +25 -21
- package/build/src/cli/commands/list-tests/index.js.map +1 -1
- package/build/src/cli/commands/selectivity-merge-dumps/index.js +12 -5
- package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -1
- package/build/src/cli/index.js +10 -6
- package/build/src/cli/index.js.map +1 -1
- package/build/src/config/defaults.d.ts +5 -0
- package/build/src/config/defaults.js +4 -0
- package/build/src/config/defaults.js.map +1 -1
- package/build/src/config/index.d.ts +6 -4
- package/build/src/config/index.js +60 -19
- package/build/src/config/index.js.map +1 -1
- package/build/src/config/options.js +26 -0
- package/build/src/config/options.js.map +1 -1
- package/build/src/config/types.d.ts +19 -0
- package/build/src/constants/process-messages.d.ts +3 -0
- package/build/src/constants/process-messages.js +4 -1
- package/build/src/constants/process-messages.js.map +1 -1
- package/build/src/events/async-emitter/index.d.ts +38 -0
- package/build/src/events/async-emitter/index.js +248 -5
- package/build/src/events/async-emitter/index.js.map +1 -1
- package/build/src/events/index.d.ts +3 -0
- package/build/src/events/index.js +1 -0
- package/build/src/events/index.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/profiler/analysis/aggregator.d.ts +19 -0
- package/build/src/profiler/analysis/aggregator.js +229 -0
- package/build/src/profiler/analysis/aggregator.js.map +1 -0
- package/build/src/profiler/analysis/analyzers.d.ts +10 -0
- package/build/src/profiler/analysis/analyzers.js +1228 -0
- package/build/src/profiler/analysis/analyzers.js.map +1 -0
- package/build/src/profiler/analysis/compact.d.ts +5 -0
- package/build/src/profiler/analysis/compact.js +46 -0
- package/build/src/profiler/analysis/compact.js.map +1 -0
- package/build/src/profiler/analysis/finding-order.d.ts +4 -0
- package/build/src/profiler/analysis/finding-order.js +28 -0
- package/build/src/profiler/analysis/finding-order.js.map +1 -0
- package/build/src/profiler/analysis/outliers.d.ts +6 -0
- package/build/src/profiler/analysis/outliers.js +49 -0
- package/build/src/profiler/analysis/outliers.js.map +1 -0
- package/build/src/profiler/analysis/policy-v1.d.ts +71 -0
- package/build/src/profiler/analysis/policy-v1.js +43 -0
- package/build/src/profiler/analysis/policy-v1.js.map +1 -0
- package/build/src/profiler/collectors/module-graph.d.ts +14 -0
- package/build/src/profiler/collectors/module-graph.js +99 -0
- package/build/src/profiler/collectors/module-graph.js.map +1 -0
- package/build/src/profiler/collectors/pool-observer.d.ts +9 -0
- package/build/src/profiler/collectors/pool-observer.js +40 -0
- package/build/src/profiler/collectors/pool-observer.js.map +1 -0
- package/build/src/profiler/manager.d.ts +55 -0
- package/build/src/profiler/manager.js +343 -0
- package/build/src/profiler/manager.js.map +1 -0
- package/build/src/profiler/output/console.d.ts +6 -0
- package/build/src/profiler/output/console.js +443 -0
- package/build/src/profiler/output/console.js.map +1 -0
- package/build/src/profiler/output/json.d.ts +2 -0
- package/build/src/profiler/output/json.js +24 -0
- package/build/src/profiler/output/json.js.map +1 -0
- package/build/src/profiler/retention/operation-store.d.ts +22 -0
- package/build/src/profiler/retention/operation-store.js +110 -0
- package/build/src/profiler/retention/operation-store.js.map +1 -0
- package/build/src/profiler/retention/policy-v1.d.ts +22 -0
- package/build/src/profiler/retention/policy-v1.js +49 -0
- package/build/src/profiler/retention/policy-v1.js.map +1 -0
- package/build/src/profiler/retention/result-budget.d.ts +2 -0
- package/build/src/profiler/retention/result-budget.js +117 -0
- package/build/src/profiler/retention/result-budget.js.map +1 -0
- package/build/src/profiler/retention/serialized-budget.d.ts +5 -0
- package/build/src/profiler/retention/serialized-budget.js +58 -0
- package/build/src/profiler/retention/serialized-budget.js.map +1 -0
- package/build/src/profiler/retention/streaming-statistics.d.ts +38 -0
- package/build/src/profiler/retention/streaming-statistics.js +191 -0
- package/build/src/profiler/retention/streaming-statistics.js.map +1 -0
- package/build/src/profiler/retention/top-k.d.ts +13 -0
- package/build/src/profiler/retention/top-k.js +57 -0
- package/build/src/profiler/retention/top-k.js.map +1 -0
- package/build/src/profiler/runtime/async-activity.d.ts +19 -0
- package/build/src/profiler/runtime/async-activity.js +113 -0
- package/build/src/profiler/runtime/async-activity.js.map +1 -0
- package/build/src/profiler/runtime/bootstrap-probe.d.ts +42 -0
- package/build/src/profiler/runtime/bootstrap-probe.js +91 -0
- package/build/src/profiler/runtime/bootstrap-probe.js.map +1 -0
- package/build/src/profiler/runtime/clock.d.ts +22 -0
- package/build/src/profiler/runtime/clock.js +15 -0
- package/build/src/profiler/runtime/clock.js.map +1 -0
- package/build/src/profiler/runtime/event-observer.d.ts +4 -0
- package/build/src/profiler/runtime/event-observer.js +142 -0
- package/build/src/profiler/runtime/event-observer.js.map +1 -0
- package/build/src/profiler/runtime/noop.d.ts +20 -0
- package/build/src/profiler/runtime/noop.js +37 -0
- package/build/src/profiler/runtime/noop.js.map +1 -0
- package/build/src/profiler/runtime/runtime.d.ts +95 -0
- package/build/src/profiler/runtime/runtime.js +1343 -0
- package/build/src/profiler/runtime/runtime.js.map +1 -0
- package/build/src/profiler/runtime/types.d.ts +88 -0
- package/build/src/profiler/runtime/types.js +3 -0
- package/build/src/profiler/runtime/types.js.map +1 -0
- package/build/src/profiler/sanitize.d.ts +15 -0
- package/build/src/profiler/sanitize.js +194 -0
- package/build/src/profiler/sanitize.js.map +1 -0
- package/build/src/profiler/schema/index.d.ts +1 -0
- package/build/src/profiler/schema/index.js +18 -0
- package/build/src/profiler/schema/index.js.map +1 -0
- package/build/src/profiler/schema/v1.d.ts +281 -0
- package/build/src/profiler/schema/v1.js +3 -0
- package/build/src/profiler/schema/v1.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +30 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +31 -6
- package/build/src/runner/browser-env/vite/browser-modules/types.js +8 -8
- package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -1
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +7 -1
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +28 -6
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
- package/build/src/runner/browser-env/vite/server.js +17 -1
- package/build/src/runner/browser-env/vite/server.js.map +1 -1
- package/build/src/runner/browser-env/vite/socket.js +4 -0
- package/build/src/runner/browser-env/vite/socket.js.map +1 -1
- package/build/src/runner/browser-env/vite/types.d.ts +9 -7
- package/build/src/runner/browser-env/vite/types.js +8 -8
- package/build/src/runner/browser-env/vite/types.js.map +1 -1
- package/build/src/runner/browser-env/vite/utils.js +9 -2
- package/build/src/runner/browser-env/vite/utils.js.map +1 -1
- package/build/src/runner/browser-runner.d.ts +3 -1
- package/build/src/runner/browser-runner.js +4 -2
- package/build/src/runner/browser-runner.js.map +1 -1
- package/build/src/runner/index.d.ts +3 -1
- package/build/src/runner/index.js +7 -4
- package/build/src/runner/index.js.map +1 -1
- package/build/src/runner/test-runner/index.d.ts +2 -1
- package/build/src/runner/test-runner/index.js +2 -2
- package/build/src/runner/test-runner/index.js.map +1 -1
- package/build/src/runner/test-runner/insistant-test-runner.d.ts +2 -1
- package/build/src/runner/test-runner/insistant-test-runner.js +3 -2
- package/build/src/runner/test-runner/insistant-test-runner.js.map +1 -1
- package/build/src/runner/test-runner/regular-test-runner.d.ts +9 -3
- package/build/src/runner/test-runner/regular-test-runner.js +77 -16
- package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
- package/build/src/signal-handler.js +14 -5
- package/build/src/signal-handler.js.map +1 -1
- package/build/src/test-reader/index.d.ts +2 -1
- package/build/src/test-reader/index.js +19 -10
- package/build/src/test-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
- package/build/src/test-reader/mocha-reader/index.js +41 -24
- package/build/src/test-reader/mocha-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +2 -2
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
- package/build/src/test-reader/mocha-reader/utils.d.ts +2 -0
- package/build/src/test-reader/mocha-reader/utils.js +18 -2
- package/build/src/test-reader/mocha-reader/utils.js.map +1 -1
- package/build/src/test-reader/test-object/hook.d.ts +4 -2
- package/build/src/test-reader/test-object/hook.js +3 -1
- package/build/src/test-reader/test-object/hook.js.map +1 -1
- package/build/src/test-reader/test-parser.d.ts +2 -1
- package/build/src/test-reader/test-parser.js +48 -4
- package/build/src/test-reader/test-parser.js.map +1 -1
- package/build/src/testplane.d.ts +6 -2
- package/build/src/testplane.js +82 -27
- package/build/src/testplane.js.map +1 -1
- package/build/src/types/index.d.ts +4 -1
- package/build/src/types/index.js.map +1 -1
- package/build/src/utils/exit-code.d.ts +1 -0
- package/build/src/utils/exit-code.js +28 -0
- package/build/src/utils/exit-code.js.map +1 -0
- package/build/src/utils/module-observer-registry.d.ts +43 -0
- package/build/src/utils/module-observer-registry.js +257 -0
- package/build/src/utils/module-observer-registry.js.map +1 -0
- package/build/src/utils/processor.js +1 -0
- package/build/src/utils/processor.js.map +1 -1
- package/build/src/utils/workers-registry.d.ts +48 -1
- package/build/src/utils/workers-registry.js +162 -4
- package/build/src/utils/workers-registry.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +15 -1
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/index.js +20 -0
- package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/index.js +39 -1
- package/build/src/worker/index.js.map +1 -1
- package/build/src/worker/runner/browser-pool.d.ts +3 -2
- package/build/src/worker/runner/browser-pool.js +5 -3
- package/build/src/worker/runner/browser-pool.js.map +1 -1
- package/build/src/worker/runner/caching-test-parser.d.ts +6 -1
- package/build/src/worker/runner/caching-test-parser.js +40 -4
- package/build/src/worker/runner/caching-test-parser.js.map +1 -1
- package/build/src/worker/runner/index.d.ts +10 -9
- package/build/src/worker/runner/index.js +52 -6
- package/build/src/worker/runner/index.js.map +1 -1
- package/build/src/worker/runner/sequence-test-parser.d.ts +4 -1
- package/build/src/worker/runner/sequence-test-parser.js +17 -3
- package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
- package/build/src/worker/runner/simple-test-parser.d.ts +3 -1
- package/build/src/worker/runner/simple-test-parser.js +4 -2
- package/build/src/worker/runner/simple-test-parser.js.map +1 -1
- package/build/src/worker/runner/test-runner/execution-thread.d.ts +20 -2
- package/build/src/worker/runner/test-runner/execution-thread.js +37 -2
- package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
- package/build/src/worker/runner/test-runner/hook-runner.d.ts +1 -1
- package/build/src/worker/runner/test-runner/hook-runner.js +4 -4
- package/build/src/worker/runner/test-runner/hook-runner.js.map +1 -1
- package/build/src/worker/runner/test-runner/index.d.ts +8 -7
- package/build/src/worker/runner/test-runner/index.js +36 -25
- package/build/src/worker/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/runner/test-runner/types.d.ts +8 -1
- package/build/src/worker/testplane-facade.js +63 -4
- package/build/src/worker/testplane-facade.js.map +1 -1
- package/build/src/worker/testplane.d.ts +6 -0
- package/build/src/worker/testplane.js +7 -1
- package/build/src/worker/testplane.js.map +1 -1
- 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,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,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,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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"}
|