@overkill-dev/run 0.0.81 → 0.0.82
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/baselines/calibration-reference.js +10 -0
- package/baselines/calibration-reference.js.map +1 -0
- package/baselines/calibration-store.js +185 -0
- package/baselines/calibration-store.js.map +1 -0
- package/baselines/performance-adapter.d.ts +1 -1
- package/baselines/performance-adapter.d.ts.map +1 -1
- package/baselines/performance-baseline.d.ts +17 -3
- package/baselines/performance-baseline.d.ts.map +1 -1
- package/baselines/performance-baseline.js +13 -1
- package/baselines/performance-baseline.js.map +1 -1
- package/baselines/performance-evaluation.js +12 -11
- package/baselines/performance-evaluation.js.map +1 -1
- package/baselines/performance-observation.js +74 -0
- package/baselines/performance-observation.js.map +1 -0
- package/baselines/performance-plan.js +28 -2
- package/baselines/performance-plan.js.map +1 -1
- package/baselines/performance-schema.js +14 -1
- package/baselines/performance-schema.js.map +1 -1
- package/baselines/performance-store.js +2 -14
- package/baselines/performance-store.js.map +1 -1
- package/baselines/performance-workflow.js +18 -10
- package/baselines/performance-workflow.js.map +1 -1
- package/bench/benchmark-run-report.js +14 -5
- package/bench/benchmark-run-report.js.map +1 -1
- package/bench/benchmark-statistics-schema.d.ts +4 -0
- package/bench/benchmark-statistics-schema.d.ts.map +1 -0
- package/bench/benchmark-statistics-schema.js +40 -0
- package/bench/benchmark-statistics-schema.js.map +1 -0
- package/bench/calibration-evidence.js +80 -0
- package/bench/calibration-evidence.js.map +1 -0
- package/bench/calibration-machine.d.ts +14 -0
- package/bench/calibration-machine.d.ts.map +1 -0
- package/bench/calibration-machine.js +43 -0
- package/bench/calibration-machine.js.map +1 -0
- package/bench/calibration-report.d.ts +24 -0
- package/bench/calibration-report.d.ts.map +1 -0
- package/bench/calibration-report.js +28 -0
- package/bench/calibration-report.js.map +1 -0
- package/bench/cpu-reference-workload.d.ts +2 -0
- package/bench/cpu-reference-workload.d.ts.map +1 -0
- package/bench/cpu-reference-workload.js +12 -0
- package/bench/cpu-reference-workload.js.map +1 -0
- package/bench/host-calibration-result.d.ts +15 -0
- package/bench/host-calibration-result.d.ts.map +1 -0
- package/engine/async-leak-diagnostics.js +18 -7
- package/engine/async-leak-diagnostics.js.map +1 -1
- package/engine/benchmark-environment.d.ts +8 -0
- package/engine/benchmark-environment.d.ts.map +1 -0
- package/engine/benchmark-garbage-collection.d.ts +0 -5
- package/engine/benchmark-garbage-collection.d.ts.map +1 -1
- package/engine/benchmark-garbage-collection.js.map +1 -1
- package/engine/benchmark-node.d.ts +3 -2
- package/engine/benchmark-node.d.ts.map +1 -1
- package/engine/benchmark-node.js +9 -0
- package/engine/benchmark-node.js.map +1 -0
- package/engine/benchmark-result.d.ts +85 -1
- package/engine/benchmark-result.d.ts.map +1 -1
- package/engine/benchmark-result.js.map +1 -1
- package/engine/case-attempt-execution.js +25 -17
- package/engine/case-attempt-execution.js.map +1 -1
- package/engine/case-body-execution.js +1 -0
- package/engine/case-body-execution.js.map +1 -1
- package/engine/execution-async-leak-policy.d.ts +3 -0
- package/engine/execution-async-leak-policy.d.ts.map +1 -0
- package/engine/execution-async-leak-policy.js +38 -23
- package/engine/execution-async-leak-policy.js.map +1 -1
- package/engine/execution-error-ownership.d.ts +6 -0
- package/engine/execution-error-ownership.d.ts.map +1 -0
- package/engine/execution-error-ownership.js +83 -0
- package/engine/execution-error-ownership.js.map +1 -0
- package/engine/execution-global-error-observer.d.ts +1 -4
- package/engine/execution-global-error-observer.d.ts.map +1 -1
- package/engine/execution-global-error-observer.js +41 -81
- package/engine/execution-global-error-observer.js.map +1 -1
- package/engine/execution-observation.js +198 -0
- package/engine/execution-observation.js.map +1 -0
- package/engine/execution-options.d.ts +9 -0
- package/engine/execution-options.d.ts.map +1 -1
- package/engine/execution-preparation.d.ts +13 -0
- package/engine/execution-preparation.d.ts.map +1 -0
- package/engine/execution-preparation.js +34 -0
- package/engine/execution-preparation.js.map +1 -0
- package/engine/execution-supervision-state.js +8 -0
- package/engine/execution-supervision-state.js.map +1 -1
- package/engine/execution-supervision.d.ts +1 -1
- package/engine/execution-supervision.d.ts.map +1 -1
- package/engine/execution-supervision.js +3 -3
- package/engine/execution-supervision.js.map +1 -1
- package/engine/execution-test-plan-cases.js +11 -9
- package/engine/execution-test-plan-cases.js.map +1 -1
- package/engine/execution.d.ts +3 -1
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +3 -27
- package/engine/execution.js.map +1 -1
- package/engine/infrastructure-resource-observation.js +55 -0
- package/engine/infrastructure-resource-observation.js.map +1 -0
- package/engine/reporter-dispatcher.d.ts.map +1 -1
- package/engine/reporter-dispatcher.js +6 -3
- package/engine/reporter-dispatcher.js.map +1 -1
- package/engine/reporter-output-scope.js +7 -2
- package/engine/reporter-output-scope.js.map +1 -1
- package/engine/resource-owner-observation.js +52 -3
- package/engine/resource-owner-observation.js.map +1 -1
- package/package.json +12 -1
- package/packages/run/benchmark-calibration.entry-point.d.ts +12 -14
- package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -1
- package/packages/run/benchmark-calibration.entry-point.js +11 -54
- package/packages/run/benchmark-calibration.entry-point.js.map +1 -1
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/command-line.entry-point.js +4 -0
- package/packages/run/command-line.entry-point.js.map +1 -1
- package/readme.md +27 -0
- package/run/benchmark-baseline-commands.js +9 -4
- package/run/benchmark-baseline-commands.js.map +1 -1
- package/run/benchmark-baseline-execution.js +20 -0
- package/run/benchmark-baseline-execution.js.map +1 -0
- package/run/benchmark-baseline-operations.js +0 -14
- package/run/benchmark-baseline-operations.js.map +1 -1
- package/run/benchmark-baseline-preparation.js +63 -0
- package/run/benchmark-baseline-preparation.js.map +1 -0
- package/run/benchmark-baseline-run.js +1 -44
- package/run/benchmark-baseline-run.js.map +1 -1
- package/run/benchmark-calibration.js +7 -0
- package/run/benchmark-calibration.js.map +1 -1
- package/run/benchmark-commands.d.ts.map +1 -1
- package/run/benchmark-commands.js +31 -0
- package/run/benchmark-commands.js.map +1 -1
- package/run/benchmark-definition-schema.js +4 -1
- package/run/benchmark-definition-schema.js.map +1 -1
- package/run/benchmark-execution-environment.js +2 -1
- package/run/benchmark-execution-environment.js.map +1 -1
- package/run/benchmark-garbage-collection.js +14 -3
- package/run/benchmark-garbage-collection.js.map +1 -1
- package/run/benchmark-normalization-preparation.js +59 -0
- package/run/benchmark-normalization-preparation.js.map +1 -0
- package/run/benchmark-placement.js +1 -1
- package/run/benchmark-placement.js.map +1 -1
- package/run/benchmark-policy-schema.js +30 -0
- package/run/benchmark-policy-schema.js.map +1 -0
- package/run/benchmark-report-metadata.js +5 -3
- package/run/benchmark-report-metadata.js.map +1 -1
- package/run/benchmark-result-schema.js +5 -53
- package/run/benchmark-result-schema.js.map +1 -1
- package/run/calibration-baseline-references.js +39 -0
- package/run/calibration-baseline-references.js.map +1 -0
- package/run/calibration-capture-session.js +97 -0
- package/run/calibration-capture-session.js.map +1 -0
- package/run/calibration-inventory.js +27 -0
- package/run/calibration-inventory.js.map +1 -0
- package/run/calibration-maintenance.js +88 -0
- package/run/calibration-maintenance.js.map +1 -0
- package/run/capability-policy.js +82 -79
- package/run/capability-policy.js.map +1 -1
- package/run/collected-run-execution.js +3 -7
- package/run/collected-run-execution.js.map +1 -1
- package/run/command-line-command-namespace.js +3 -0
- package/run/command-line-command-namespace.js.map +1 -1
- package/run/command-line-command.d.ts +1 -0
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js.map +1 -1
- package/run/default-run-engine.js +25 -0
- package/run/default-run-engine.js.map +1 -1
- package/run/execution-session-lifecycle.js +28 -9
- package/run/execution-session-lifecycle.js.map +1 -1
- package/run/frozen-supervised-command-schema.js +2 -2
- package/run/frozen-supervised-command-schema.js.map +1 -1
- package/run/initialized-run-collection.js +80 -0
- package/run/initialized-run-collection.js.map +1 -0
- package/run/initialized-run.js +2 -49
- package/run/initialized-run.js.map +1 -1
- package/run/path-containment.js +13 -0
- package/run/path-containment.js.map +1 -1
- package/run/permission-denial-runtime-policy.js +30 -50
- package/run/permission-denial-runtime-policy.js.map +1 -1
- package/run/run-cancellation.js.map +1 -1
- package/run/run-collected-resolution.js +7 -0
- package/run/run-collected-resolution.js.map +1 -1
- package/run/run-command-schema.js +2 -0
- package/run/run-command-schema.js.map +1 -1
- package/run/run-engine-primitives.d.ts +2 -1
- package/run/run-engine-primitives.d.ts.map +1 -1
- package/run/run-execution.js +1 -1
- package/run/run-execution.js.map +1 -1
- package/run/run-facts.js +1 -0
- package/run/run-facts.js.map +1 -1
- package/run/run-input-resolution.js +5 -3
- package/run/run-input-resolution.js.map +1 -1
- package/run/run-isolated-command.js +8 -2
- package/run/run-isolated-command.js.map +1 -1
- package/run/run-isolated-process.js +5 -0
- package/run/run-isolated-process.js.map +1 -1
- package/run/run-local-command.js +3 -7
- package/run/run-local-command.js.map +1 -1
- package/run/run-local-coverage.js +3 -7
- package/run/run-local-coverage.js.map +1 -1
- package/run/run-local-planning.js +2 -0
- package/run/run-local-planning.js.map +1 -1
- package/run/run-supervised-process.js +14 -3
- package/run/run-supervised-process.js.map +1 -1
- package/run/run-support.js +11 -9
- package/run/run-support.js.map +1 -1
- package/run/run-types.d.ts +5 -2
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run.js +3 -1
- package/run/run.js.map +1 -1
- package/run/supervised-child-execution.js +1 -1
- package/run/supervised-child-execution.js.map +1 -1
- package/run/supervised-child-test-plan.js +3 -3
- package/run/supervised-child-test-plan.js.map +1 -1
- package/run/supervised-child.js +46 -33
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-protocol.js.map +1 -1
- package/run/worker-execution-engine.js +1 -1
- package/run/worker-execution-engine.js.map +1 -1
- package/run/worker-pool-command.js +4 -6
- package/run/worker-pool-command.js.map +1 -1
- package/run/worker-pool-host.entry-point.js +1 -1
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-worker-plan.js +2 -2
- package/run/worker-pool-worker-plan.js.map +1 -1
- package/software-bill-of-materials.cyclonedx.json +4 -4
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { resolveBenchmarkGarbageCollection } from "../engine/benchmark-garbage-collection.js";
|
|
2
2
|
import { invalidRequest } from "./run-errors.js";
|
|
3
3
|
function requiresGarbageCollection(cases, profile) {
|
|
4
|
-
return cases
|
|
5
|
-
|
|
6
|
-
return testCase.skipReason === null
|
|
4
|
+
return cases
|
|
5
|
+
.filter(function activeCase({ testCase }) {
|
|
6
|
+
return testCase.skipReason === null;
|
|
7
|
+
})
|
|
8
|
+
.some(function requestsCollection({ testCase }) {
|
|
9
|
+
const requests = [
|
|
10
|
+
testCase.benchmark?.lifecycle?.garbageCollection ?? 'off',
|
|
11
|
+
...Object.values(testCase.benchmark?.normalization ?? {}).map(function calibrationRequest(rule) {
|
|
12
|
+
return rule.garbageCollection;
|
|
13
|
+
})
|
|
14
|
+
];
|
|
15
|
+
return requests.some(function enabled(request) {
|
|
16
|
+
return resolveBenchmarkGarbageCollection(request, profile) === 'after-sample';
|
|
17
|
+
});
|
|
7
18
|
});
|
|
8
19
|
}
|
|
9
20
|
function garbageCollectionArguments(nodeArguments) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-garbage-collection.js","sourceRoot":"","sources":["../../../../source/run/benchmark-garbage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAI9F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,yBAAyB,CAAC,KAAqB,EAAE,OAAyC;IAC/F,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"benchmark-garbage-collection.js","sourceRoot":"","sources":["../../../../source/run/benchmark-garbage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAI9F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,yBAAyB,CAAC,KAAqB,EAAE,OAAyC;IAC/F,OAAO,KAAK;SACP,MAAM,CAAC,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE;QACpC,OAAO,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE;QAC1C,MAAM,QAAQ,GAAG;YACb,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,IAAI,KAAK;YACzD,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAAC,IAAI;gBAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAClC,CAAC,CAAC;SACL,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO;YACzC,OAAO,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,cAAc,CAAC;QAClF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACX,CAAC;AAED,SAAS,0BAA0B,CAAC,aAAgC;IAChE,IACI,aAAa,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,QAAQ;QAC1D,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,EACJ,CAAC;QACC,cAAc,CAAC,mFAAmF,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,QAAQ;QACzE,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,aAAa,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,GAAG,aAAa,EAAE,aAAa,CAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,WAAwB,EACxB,OAAyC,EACzC,KAAqB;IAErB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3G,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { createCalibrationReferenceStore } from "../baselines/calibration-store.js";
|
|
3
|
+
import { benchmarkNormalizationMachine } from "./benchmark-calibration.js";
|
|
4
|
+
import { calibrationMaintenanceSession } from "./calibration-maintenance.js";
|
|
5
|
+
import { createCalibrationCaptureSession } from "./calibration-capture-session.js";
|
|
6
|
+
import { readSavedCalibrationReferences } from "./calibration-baseline-references.js";
|
|
7
|
+
export async function prepareBenchmarkNormalization(input, calibration, dependencies) {
|
|
8
|
+
if (input.profile.testFamily !== 'benchmark') {
|
|
9
|
+
throw new TypeError('Calibration references require a benchmark profile.');
|
|
10
|
+
}
|
|
11
|
+
const storeInput = {
|
|
12
|
+
projectRoot: input.projectRoot,
|
|
13
|
+
directory: input.profile.baselines.directory,
|
|
14
|
+
maxBytes: input.profile.attachments.maxArtifactBytes
|
|
15
|
+
};
|
|
16
|
+
const store = await createCalibrationReferenceStore(storeInput);
|
|
17
|
+
const references = input.benchmarkPurpose === 'capture' ? [] : await store.list();
|
|
18
|
+
const machine = benchmarkNormalizationMachine(input.profile.execution, calibration);
|
|
19
|
+
const context = {
|
|
20
|
+
executionId: randomUUID(),
|
|
21
|
+
mode: input.benchmarkPurpose,
|
|
22
|
+
profile: input.request.profile,
|
|
23
|
+
machine,
|
|
24
|
+
references: references
|
|
25
|
+
.filter(function matchingReference(entry) {
|
|
26
|
+
return entry.profile === input.request.profile;
|
|
27
|
+
})
|
|
28
|
+
.map(function snapshot(entry) {
|
|
29
|
+
return entry.snapshot;
|
|
30
|
+
}),
|
|
31
|
+
saved: await readSavedCalibrationReferences({
|
|
32
|
+
profile: input.profile,
|
|
33
|
+
profileName: input.request.profile,
|
|
34
|
+
projectRoot: input.projectRoot,
|
|
35
|
+
purpose: input.benchmarkPurpose
|
|
36
|
+
})
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
context,
|
|
40
|
+
capture: input.benchmarkPurpose === 'capture'
|
|
41
|
+
? createCalibrationCaptureSession({
|
|
42
|
+
store,
|
|
43
|
+
profile: input.request.profile,
|
|
44
|
+
maxBytes: storeInput.maxBytes,
|
|
45
|
+
dependencies
|
|
46
|
+
})
|
|
47
|
+
: null,
|
|
48
|
+
maintain(baseline) {
|
|
49
|
+
return calibrationMaintenanceSession({
|
|
50
|
+
input: { ...input, benchmarkNormalization: context },
|
|
51
|
+
references,
|
|
52
|
+
store,
|
|
53
|
+
baseline,
|
|
54
|
+
dependencies
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=benchmark-normalization-preparation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-normalization-preparation.js","sourceRoot":"","sources":["../../../../source/run/benchmark-normalization-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AActF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAC/C,KAAuB,EACvB,WAAyC,EACzC,YAAyC;IAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,UAAU,GAAG;QACf,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;QAC5C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB;KACvD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,OAAO,GAAkC;QAC3C,WAAW,EAAE,UAAU,EAAE;QACzB,IAAI,EAAE,KAAK,CAAC,gBAAgB;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,OAAO;QACP,UAAU,EAAE,UAAU;aACjB,MAAM,CAAC,SAAS,iBAAiB,CAAC,KAAK;YACpC,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACnD,CAAC,CAAC;aACD,GAAG,CAAC,SAAS,QAAQ,CAAC,KAAK;YACxB,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC;QACN,KAAK,EAAE,MAAM,8BAA8B,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,gBAAgB;SAClC,CAAC;KACL,CAAC;IACF,OAAO;QACH,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACzC,CAAC,CAAC,+BAA+B,CAAC;gBAC9B,KAAK;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,YAAY;aACf,CAAC;YACF,CAAC,CAAC,IAAI;QACV,QAAQ,CAAC,QAAQ;YACb,OAAO,6BAA6B,CAAC;gBACjC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE;gBACpD,UAAU;gBACV,KAAK;gBACL,QAAQ;gBACR,YAAY;aACf,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -13,7 +13,7 @@ function parallelMeasurement(definition) {
|
|
|
13
13
|
});
|
|
14
14
|
})
|
|
15
15
|
];
|
|
16
|
-
return metrics.every(function artifactMetric(name) {
|
|
16
|
+
return Object.keys(definition.normalization).length === 0 && metrics.every(function artifactMetric(name) {
|
|
17
17
|
return !timingMetrics.has(name);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-placement.js","sourceRoot":"","sources":["../../../../source/run/benchmark-placement.ts"],"names":[],"mappings":"AAeA,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAE,sBAAsB,EAAE,qBAAqB,CAAE,CAAC,CAAC;AACtG,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,SAAS,mBAAmB,CAAC,UAA6C;IACtE,IACI,UAAU,EAAE,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS;QAC/E,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC9C,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG;QACZ,GAAG,UAAU,CAAC,WAAW;QACzB,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,OAAO;YACvE,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM;gBACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;KACL,CAAC;IACF,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,cAAc,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"benchmark-placement.js","sourceRoot":"","sources":["../../../../source/run/benchmark-placement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { maximumRetainedSamples, minimumInferentialSamples } from "../engine/benchmark-limits.js";
|
|
3
|
+
export const samplingPolicySchema = z
|
|
4
|
+
.strictObject({
|
|
5
|
+
confidenceLevel: z.number().gt(0).lt(1),
|
|
6
|
+
relativePrecision: z.number().nonnegative(),
|
|
7
|
+
absolutePrecision: z.record(z.string(), z.number().nonnegative()),
|
|
8
|
+
minimumSamples: z.number().int().min(minimumInferentialSamples),
|
|
9
|
+
maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
|
|
10
|
+
})
|
|
11
|
+
.refine(function orderedLimits(policy) {
|
|
12
|
+
return policy.minimumSamples <= policy.maximumSamples;
|
|
13
|
+
});
|
|
14
|
+
const minimumCooldownMilliseconds = 100;
|
|
15
|
+
const maximumCooldownMilliseconds = 60_000;
|
|
16
|
+
export const legacyLifecyclePolicySchema = z.strictObject({
|
|
17
|
+
warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
|
|
18
|
+
cooldown: z.discriminatedUnion('mode', [
|
|
19
|
+
z.strictObject({ mode: z.literal('off') }),
|
|
20
|
+
z.strictObject({
|
|
21
|
+
mode: z.literal('runtime'),
|
|
22
|
+
maximumEventLoopUtilization: z.number().min(0).max(1),
|
|
23
|
+
timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
|
|
24
|
+
})
|
|
25
|
+
])
|
|
26
|
+
});
|
|
27
|
+
export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
|
|
28
|
+
garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=benchmark-policy-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-policy-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-policy-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAElG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAChC,YAAY,CAAC;IACV,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;CAC9F,CAAC;KACD,MAAM,CAAC,SAAS,aAAa,CAAC,MAAM;IACjC,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEP,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACzG,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC7E,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACzF,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { appendRunnerErrors } from "../engine/execution-result.js";
|
|
2
2
|
import { defaultAttachmentLimits } from "../engine/runtime-attachment.js";
|
|
3
3
|
import { runJsonArtifact } from "../attachments/run-json-artifact.js";
|
|
4
|
-
import { benchmarkRunMediaType, readBenchmarkRunMetadata } from "../bench/benchmark-run-report.js";
|
|
4
|
+
import { benchmarkRunMediaType, benchmarkRunMetadataVersion, readBenchmarkRunMetadata } from "../bench/benchmark-run-report.js";
|
|
5
5
|
function attachMetadata(result, metadata, maxBytes, capturedAtMicroseconds) {
|
|
6
6
|
try {
|
|
7
7
|
const artifact = runJsonArtifact({
|
|
@@ -32,7 +32,8 @@ export function withBenchmarkRunMetadata(result, facts, capturedAtMicroseconds)
|
|
|
32
32
|
return result;
|
|
33
33
|
}
|
|
34
34
|
const metadata = {
|
|
35
|
-
version:
|
|
35
|
+
version: benchmarkRunMetadataVersion,
|
|
36
|
+
normalization: facts.benchmarkNormalization,
|
|
36
37
|
host: facts.benchmarkHost,
|
|
37
38
|
placement: facts.benchmarkPlacement,
|
|
38
39
|
node: facts.environment.node,
|
|
@@ -54,7 +55,8 @@ export function withBenchmarkErrorMetadata(result, command, host) {
|
|
|
54
55
|
return result;
|
|
55
56
|
}
|
|
56
57
|
const metadata = {
|
|
57
|
-
version:
|
|
58
|
+
version: benchmarkRunMetadataVersion,
|
|
59
|
+
normalization: null,
|
|
58
60
|
host,
|
|
59
61
|
placement: null,
|
|
60
62
|
node: { arch: process.arch, platform: process.platform, version: process.version },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-report-metadata.js","sourceRoot":"","sources":["../../../../source/run/benchmark-report-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EAE3B,MAAM,kCAAkC,CAAC;AAK1C,SAAS,cAAc,CACnB,MAAiB,EACjB,QAA8B,EAC9B,QAAgB,EAChB,sBAA8B;IAE9B,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC7B,MAAM;YACN,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,qBAAqB;YAChC,QAAQ;YACR,sBAAsB;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAE,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAE,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO,kBAAkB,CAAC,MAAM,EAAE,CAAE;gBAChC,YAAY,EAAE,IAAI;gBAClB,mBAAmB,EAAE,IAAI;gBACzB,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,OAAO,EAAE,UAAU;aACtB,CAAE,CAAC,CAAC;IACT,CAAC;AACL,CAAC;AACD,MAAM,UAAU,wBAAwB,CACpC,MAAiB,EACjB,KAAe,EACf,sBAA8B;IAE9B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAyB;QACnC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark-report-metadata.js","sourceRoot":"","sources":["../../../../source/run/benchmark-report-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod/v4';
|
|
2
|
+
import { metricSummarySchema, benchmarkBudgetResultSchema } from "../bench/benchmark-statistics-schema.js";
|
|
3
|
+
import { normalizationEvidenceSchema } from "../bench/calibration-evidence.js";
|
|
2
4
|
import { benchmarkLifecycleVersion } from "../engine/benchmark-result.js";
|
|
3
5
|
import { workloadIdSchema } from "../engine/identity-schema.js";
|
|
4
|
-
import {
|
|
5
|
-
const minimumCooldownMilliseconds = 100;
|
|
6
|
-
const maximumCooldownMilliseconds = 60_000;
|
|
7
|
-
const legacyLifecyclePolicySchema = z.strictObject({
|
|
8
|
-
warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
|
|
9
|
-
cooldown: z.discriminatedUnion('mode', [
|
|
10
|
-
z.strictObject({ mode: z.literal('off') }),
|
|
11
|
-
z.strictObject({
|
|
12
|
-
mode: z.literal('runtime'),
|
|
13
|
-
maximumEventLoopUtilization: z.number().min(0).max(1),
|
|
14
|
-
timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
|
|
15
|
-
})
|
|
16
|
-
])
|
|
17
|
-
});
|
|
18
|
-
export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
|
|
19
|
-
garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
|
|
20
|
-
});
|
|
6
|
+
import { samplingPolicySchema, legacyLifecyclePolicySchema } from "./benchmark-policy-schema.js";
|
|
21
7
|
const resolvedLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
|
|
22
8
|
garbageCollection: z.enum(['off', 'after-sample'])
|
|
23
9
|
});
|
|
24
|
-
export const budgetStatisticSchema = z.discriminatedUnion('kind', [
|
|
25
|
-
z.strictObject({ kind: z.literal('quantile'), probability: z.number().gt(0).lt(1) }),
|
|
26
|
-
z.strictObject({ kind: z.literal('mean'), range: z.strictObject({ minimum: z.number(), maximum: z.number() }) }),
|
|
27
|
-
z.strictObject({ kind: z.literal('observed-minimum') }),
|
|
28
|
-
z.strictObject({ kind: z.literal('observed-maximum') })
|
|
29
|
-
]);
|
|
30
|
-
export const samplingPolicySchema = z.strictObject({
|
|
31
|
-
confidenceLevel: z.number().gt(0).lt(1),
|
|
32
|
-
relativePrecision: z.number().nonnegative(),
|
|
33
|
-
absolutePrecision: z.record(z.string(), z.number().nonnegative()),
|
|
34
|
-
minimumSamples: z.number().int().min(minimumInferentialSamples),
|
|
35
|
-
maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
|
|
36
|
-
});
|
|
37
|
-
const metricSummarySchema = z.strictObject({
|
|
38
|
-
count: z.number().int().nonnegative(),
|
|
39
|
-
minimum: z.number().nullable(),
|
|
40
|
-
maximum: z.number().nullable(),
|
|
41
|
-
mean: z.number().nullable(),
|
|
42
|
-
median: z.number().nullable(),
|
|
43
|
-
provenance: z.strictObject({
|
|
44
|
-
collector: z.string(),
|
|
45
|
-
scope: z.enum(['region', 'thread', 'process', 'runtime', 'custom']),
|
|
46
|
-
unit: z.string()
|
|
47
|
-
}),
|
|
48
|
-
unavailableReasons: z.array(z.string())
|
|
49
|
-
});
|
|
50
10
|
const rawSamplesSchema = z.strictObject({
|
|
51
11
|
status: z.enum(['recorded', 'omitted', 'truncated']),
|
|
52
12
|
reference: z.string().nullable(),
|
|
@@ -99,6 +59,7 @@ const lifecycleResultSchema = z.union([
|
|
|
99
59
|
})
|
|
100
60
|
]);
|
|
101
61
|
export const benchmarkResultSchema = z.strictObject({
|
|
62
|
+
normalization: normalizationEvidenceSchema.nullable().default(null),
|
|
102
63
|
lifecycle: lifecycleResultSchema.nullable().default(null),
|
|
103
64
|
workload: workloadIdSchema,
|
|
104
65
|
policy: samplingPolicySchema,
|
|
@@ -106,16 +67,7 @@ export const benchmarkResultSchema = z.strictObject({
|
|
|
106
67
|
status: z.enum(['sampling', 'complete', 'incomplete']),
|
|
107
68
|
assumption: z.literal('independent-stationary-observations'),
|
|
108
69
|
metrics: z.record(z.string(), metricSummarySchema),
|
|
109
|
-
budgets: z.array(
|
|
110
|
-
metric: z.string(),
|
|
111
|
-
statistic: budgetStatisticSchema,
|
|
112
|
-
minimum: z.number().nullable(),
|
|
113
|
-
maximum: z.number().nullable(),
|
|
114
|
-
estimate: z.number().nullable(),
|
|
115
|
-
interval: z.strictObject({ lower: z.number().nullable(), upper: z.number().nullable() }),
|
|
116
|
-
precise: z.boolean(),
|
|
117
|
-
decision: z.enum(['pass', 'fail', 'undecided', 'unavailable'])
|
|
118
|
-
})),
|
|
70
|
+
budgets: z.array(benchmarkBudgetResultSchema),
|
|
119
71
|
rawSamples: rawSamplesSchema
|
|
120
72
|
});
|
|
121
73
|
//# sourceMappingURL=benchmark-result-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createPerformanceBaselineStore } from "../baselines/performance-store.js";
|
|
2
|
+
import { normalizedPerformanceBaselineVersion } from "../baselines/performance-baseline.js";
|
|
3
|
+
function selectedBaseline(input, baseline) {
|
|
4
|
+
return baseline.profile === input.profileName &&
|
|
5
|
+
input.profile.baselines.adapters.some(function selectedAdapter(adapter) {
|
|
6
|
+
return adapter.id === baseline.adapter;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function storedReferences(baseline) {
|
|
10
|
+
if (baseline.version !== normalizedPerformanceBaselineVersion || baseline.normalization === null) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
return Object.entries(baseline.normalization.metrics).map(function metric([name, evidence]) {
|
|
14
|
+
return {
|
|
15
|
+
work: baseline.work,
|
|
16
|
+
metric: name,
|
|
17
|
+
reference: evidence.reference,
|
|
18
|
+
budgetReference: evidence.budgetReference
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async function readReferences(input, store) {
|
|
23
|
+
const expected = await store.list();
|
|
24
|
+
return expected.flatMap(function savedReferences(entry) {
|
|
25
|
+
return selectedBaseline(input, entry.baseline) ? storedReferences(entry.baseline) : [];
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export async function readSavedCalibrationReferences(input) {
|
|
29
|
+
if (input.purpose === 'capture' || input.profile.baselines.adapters.length === 0) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
const store = await createPerformanceBaselineStore({
|
|
33
|
+
projectRoot: input.projectRoot,
|
|
34
|
+
directory: input.profile.baselines.directory,
|
|
35
|
+
maxBytes: input.profile.attachments.maxArtifactBytes
|
|
36
|
+
});
|
|
37
|
+
return await readReferences(input, store);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=calibration-baseline-references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibration-baseline-references.js","sourceRoot":"","sources":["../../../../source/run/calibration-baseline-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAiC,MAAM,mCAAmC,CAAC;AAClH,OAAO,EACH,oCAAoC,EAEvC,MAAM,sCAAsC,CAAC;AAU9C,SAAS,gBAAgB,CAAC,KAAsB,EAAE,QAAmC;IACjF,OAAO,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,WAAW;QACzC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,OAAO;YAClE,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;QAC3C,CAAC,CAAC,CAAC;AACX,CAAC;AACD,SAAS,gBAAgB,CAAC,QAAmC;IACzD,IAAI,QAAQ,CAAC,OAAO,KAAK,oCAAoC,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAE,IAAI,EAAE,QAAQ,CAAE;QACxF,OAAO;YACH,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC5C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AACD,KAAK,UAAU,cAAc,CACzB,KAAsB,EACtB,KAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,KAAK;QAClD,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAAsB;IACvE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/E,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC;QAC/C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;QAC5C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB;KACvD,CAAC,CAAC;IACH,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { canonicalIdentityJson } from "../canonical-identity.js";
|
|
2
|
+
import { CalibrationPublicationError } from "../baselines/calibration-store.js";
|
|
3
|
+
import { successfulPerformanceRun } from "../baselines/performance-workflow.js";
|
|
4
|
+
import { appendRunnerErrors } from "../engine/execution-result.js";
|
|
5
|
+
import { performanceBaselineError } from "../baselines/performance-evaluation.js";
|
|
6
|
+
import { calibrationReferenceReportArtifact } from "../bench/calibration-report.js";
|
|
7
|
+
function capturedReferences(result) {
|
|
8
|
+
const snapshots = new Map();
|
|
9
|
+
const candidates = result.perTest.flatMap(function references(test) {
|
|
10
|
+
return test.benchmark?.normalization?.calibrations ?? [];
|
|
11
|
+
});
|
|
12
|
+
for (const snapshot of candidates) {
|
|
13
|
+
const key = canonicalIdentityJson(snapshot.identity);
|
|
14
|
+
if (!snapshots.has(key)) {
|
|
15
|
+
snapshots.set(key, snapshot);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return Array.from(snapshots.values());
|
|
19
|
+
}
|
|
20
|
+
function captureReport(input, result, snapshots) {
|
|
21
|
+
const owners = result.perTest.map(function owner(test) {
|
|
22
|
+
return test.workId;
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
version: 1,
|
|
26
|
+
changes: snapshots.map(function writtenReference(snapshot) {
|
|
27
|
+
return {
|
|
28
|
+
kind: 'write',
|
|
29
|
+
path: input.store.pathOf({ profile: input.profile, snapshot, owners, version: 1 })
|
|
30
|
+
};
|
|
31
|
+
}),
|
|
32
|
+
completed: [],
|
|
33
|
+
outcome: 'read-only'
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function appendCaptureReport(input, result, report) {
|
|
37
|
+
const artifact = calibrationReferenceReportArtifact({
|
|
38
|
+
result,
|
|
39
|
+
report,
|
|
40
|
+
maxBytes: input.maxBytes,
|
|
41
|
+
capturedAtMicroseconds: Number(input.dependencies.wallClock.currentMonotonicMicroseconds)
|
|
42
|
+
});
|
|
43
|
+
return { ...result, artifacts: [...result.artifacts, artifact] };
|
|
44
|
+
}
|
|
45
|
+
function referenceOwners(result, snapshot) {
|
|
46
|
+
const key = canonicalIdentityJson(snapshot.identity);
|
|
47
|
+
return result
|
|
48
|
+
.perTest
|
|
49
|
+
.filter(function ownsReference(test) {
|
|
50
|
+
return test.benchmark?.normalization?.calibrations.some(function matchingReference(actual) {
|
|
51
|
+
return canonicalIdentityJson(actual.identity) === key;
|
|
52
|
+
}) ?? false;
|
|
53
|
+
})
|
|
54
|
+
.map(function work(test) {
|
|
55
|
+
return test.workId;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async function publishCapture(input, result, report, snapshots) {
|
|
59
|
+
appendCaptureReport(input, result, report);
|
|
60
|
+
const completed = snapshots.length === 0
|
|
61
|
+
? []
|
|
62
|
+
: await input.store.write(input.profile, snapshots, function owners(snapshot) {
|
|
63
|
+
return referenceOwners(result, snapshot);
|
|
64
|
+
});
|
|
65
|
+
return appendCaptureReport(input, result, { ...report, completed, outcome: 'written' });
|
|
66
|
+
}
|
|
67
|
+
async function completeCapture(input, result, report, snapshots) {
|
|
68
|
+
return successfulPerformanceRun(result)
|
|
69
|
+
? await publishCapture(input, result, report, snapshots)
|
|
70
|
+
: appendCaptureReport(input, result, { ...report, outcome: 'blocked' });
|
|
71
|
+
}
|
|
72
|
+
async function finalizeCapture(input, result) {
|
|
73
|
+
const snapshots = capturedReferences(result);
|
|
74
|
+
const report = captureReport(input, result, snapshots);
|
|
75
|
+
try {
|
|
76
|
+
return await completeCapture(input, result, report, snapshots);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
const failed = appendRunnerErrors(result, [performanceBaselineError(error, null)]);
|
|
80
|
+
const completed = error instanceof CalibrationPublicationError ? error.completed() : [];
|
|
81
|
+
try {
|
|
82
|
+
return appendCaptureReport(input, failed, { ...report, completed, outcome: 'failed' });
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return failed;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function createCalibrationCaptureSession(input) {
|
|
90
|
+
return {
|
|
91
|
+
reporterDispatcher: input.dependencies.reporterDispatcher,
|
|
92
|
+
async finalize(result) {
|
|
93
|
+
return await finalizeCapture(input, result);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=calibration-capture-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibration-capture-session.js","sourceRoot":"","sources":["../../../../source/run/calibration-capture-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { canonicalIdentityJson } from "../canonical-identity.js";
|
|
2
|
+
import { caseIdentityKey } from "../engine/identity.js";
|
|
3
|
+
export function staleCalibrationReferences(input) {
|
|
4
|
+
const { result, references } = input;
|
|
5
|
+
const active = new Set(result.perTest.flatMap(function usedReferences(test) {
|
|
6
|
+
return (test.benchmark?.normalization?.calibrations ?? []).map(function identity(snapshot) {
|
|
7
|
+
return canonicalIdentityJson(snapshot.identity);
|
|
8
|
+
});
|
|
9
|
+
}));
|
|
10
|
+
const skipped = new Set(result
|
|
11
|
+
.perTest
|
|
12
|
+
.filter(function skippedCase(test) {
|
|
13
|
+
return test.verdict === 'skip';
|
|
14
|
+
})
|
|
15
|
+
.map(function identity(test) {
|
|
16
|
+
return caseIdentityKey(test.id);
|
|
17
|
+
}));
|
|
18
|
+
return references.filter(function staleReference(reference) {
|
|
19
|
+
const preserved = active.has(canonicalIdentityJson(reference.snapshot.identity)) ||
|
|
20
|
+
reference.owners.some(function skippedOwner(owner) {
|
|
21
|
+
return skipped.has(caseIdentityKey(owner.case));
|
|
22
|
+
});
|
|
23
|
+
const sameScope = reference.profile === input.profile && reference.snapshot.machineClass === input.machineClass;
|
|
24
|
+
return sameScope && reference.owners.length > 0 && !preserved;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=calibration-inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibration-inventory.js","sourceRoot":"","sources":["../../../../source/run/calibration-inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAWxD,MAAM,UAAU,0BAA0B,CAAC,KAAgC;IACvE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,IAAI;QACtE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,QAAQ;YACrF,OAAO,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CACnB,MAAM;SACD,OAAO;SACP,MAAM,CAAC,SAAS,WAAW,CAAC,IAAI;QAC7B,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC;IACnC,CAAC,CAAC;SACD,GAAG,CAAC,SAAS,QAAQ,CAAC,IAAI;QACvB,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CACT,CAAC;IACF,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,cAAc,CAAC,SAAS;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5E,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,KAAK;gBAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACP,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;QAChH,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { appendRunnerErrors } from "../engine/execution-result.js";
|
|
2
|
+
import { performanceBaselineError } from "../baselines/performance-evaluation.js";
|
|
3
|
+
import { successfulPerformanceRun } from "../baselines/performance-workflow.js";
|
|
4
|
+
import { CalibrationPublicationError } from "../baselines/calibration-store.js";
|
|
5
|
+
import { calibrationReferenceReportArtifact } from "../bench/calibration-report.js";
|
|
6
|
+
import { staleCalibrationReferences } from "./calibration-inventory.js";
|
|
7
|
+
function completeInventory(input) {
|
|
8
|
+
return input.request.paths.length === 0 && input.request.selection.kind === 'all' &&
|
|
9
|
+
input.request.shard.total === 1;
|
|
10
|
+
}
|
|
11
|
+
function appendReport(session, result, report) {
|
|
12
|
+
const { profile } = session.input;
|
|
13
|
+
if (profile.testFamily !== 'benchmark') {
|
|
14
|
+
throw new TypeError('Calibration maintenance requires a benchmark profile.');
|
|
15
|
+
}
|
|
16
|
+
const artifact = calibrationReferenceReportArtifact({
|
|
17
|
+
result,
|
|
18
|
+
report,
|
|
19
|
+
maxBytes: profile.attachments.maxArtifactBytes,
|
|
20
|
+
capturedAtMicroseconds: Number(session.dependencies.wallClock.currentMonotonicMicroseconds)
|
|
21
|
+
});
|
|
22
|
+
return { ...result, artifacts: [...result.artifacts, artifact] };
|
|
23
|
+
}
|
|
24
|
+
async function publishRemovals(session, result, stale, report) {
|
|
25
|
+
appendReport(session, result, report);
|
|
26
|
+
const completed = session.input.request.baselineUpdateMode === 'apply' && successfulPerformanceRun(result)
|
|
27
|
+
? await session.store.remove(stale)
|
|
28
|
+
: [];
|
|
29
|
+
return appendReport(session, result, {
|
|
30
|
+
...report,
|
|
31
|
+
completed,
|
|
32
|
+
outcome: completed.length > 0 ? 'written' : 'read-only'
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async function retainMaintenance(session, result, stale) {
|
|
36
|
+
const report = {
|
|
37
|
+
version: 1,
|
|
38
|
+
completed: [],
|
|
39
|
+
outcome: 'read-only',
|
|
40
|
+
changes: stale.map(function removal(reference) {
|
|
41
|
+
return { kind: 'remove', path: session.store.pathOf(reference) };
|
|
42
|
+
})
|
|
43
|
+
};
|
|
44
|
+
try {
|
|
45
|
+
return await publishRemovals(session, result, stale, report);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
const failed = appendRunnerErrors(result, [performanceBaselineError(error, null)]);
|
|
49
|
+
const completed = error instanceof CalibrationPublicationError ? error.completed() : [];
|
|
50
|
+
try {
|
|
51
|
+
return appendReport(session, failed, { ...report, completed, outcome: 'failed' });
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return failed;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function checkedResult(session, result, stale) {
|
|
59
|
+
const mode = session.input.request.baselineUpdateMode;
|
|
60
|
+
return stale.length > 0 && mode !== 'apply' && mode !== 'diff'
|
|
61
|
+
? appendRunnerErrors(result, [performanceBaselineError(new Error('Stale calibration references require overkill bench baseline apply.'), null)])
|
|
62
|
+
: result;
|
|
63
|
+
}
|
|
64
|
+
async function finalizeMaintenance(session, result) {
|
|
65
|
+
const stale = successfulPerformanceRun(result)
|
|
66
|
+
? staleCalibrationReferences({
|
|
67
|
+
profile: session.input.request.profile,
|
|
68
|
+
machineClass: session.input.benchmarkNormalization?.machine.machineClass ?? null,
|
|
69
|
+
references: session.references,
|
|
70
|
+
result
|
|
71
|
+
})
|
|
72
|
+
: [];
|
|
73
|
+
const checked = checkedResult(session, result, stale);
|
|
74
|
+
const finalized = session.baseline === null ? checked : await session.baseline.finalize(checked);
|
|
75
|
+
return stale.length === 0 ? finalized : await retainMaintenance(session, finalized, stale);
|
|
76
|
+
}
|
|
77
|
+
export function calibrationMaintenanceSession(session) {
|
|
78
|
+
if (session.references.length === 0 || !completeInventory(session.input)) {
|
|
79
|
+
return session.baseline;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
reporterDispatcher: session.baseline?.reporterDispatcher ?? session.dependencies.reporterDispatcher,
|
|
83
|
+
async finalize(result) {
|
|
84
|
+
return await finalizeMaintenance(session, result);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=calibration-maintenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibration-maintenance.js","sourceRoot":"","sources":["../../../../source/run/calibration-maintenance.ts"],"names":[],"mappings":"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"}
|