@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-calibration.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/benchmark-calibration.entry-point.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"benchmark-calibration.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/benchmark-calibration.entry-point.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAChH,OAAO,EAGH,KAAK,YAAY,EACpB,MAAM,oCAAoC,CAAC;AAkB5C,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IAClD,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACzC,CAAC;AAoCF,wBAAgB,sBAAsB,IAAI,0BAA0B,CAanE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAcpF;AAED,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAEhH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,KAAK,gBAAgB,GAAG;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACnC,CAAC;AACF,wBAAgB,oBAAoB,IAAI,gBAAgB,CAGvD"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto';
|
|
2
|
-
import os from 'node:os';
|
|
3
1
|
import { z } from 'zod/v4';
|
|
2
|
+
import { readCalibrationHostMetadata, calibrationMachineClass } from "../../bench/calibration-machine.js";
|
|
3
|
+
import { referenceChecksum } from "../../bench/cpu-reference-workload.js";
|
|
4
4
|
const iterations = 2_000_000;
|
|
5
5
|
const sampleCount = 7;
|
|
6
6
|
const referenceWorkload = 'integer-mix-v1';
|
|
7
|
-
const multiplier = 1_664_525;
|
|
8
|
-
const increment = 1_013_904_223;
|
|
9
|
-
const integerRange = 4_294_967_296;
|
|
10
7
|
const nanosecondsPerMicrosecond = 1000;
|
|
11
|
-
const machineClassDigestLength = 16;
|
|
12
8
|
const medianDivisor = 2;
|
|
13
9
|
const referenceContextSchema = z
|
|
14
10
|
.strictObject({
|
|
@@ -19,52 +15,6 @@ const referenceContextSchema = z
|
|
|
19
15
|
workload: z.literal(referenceWorkload)
|
|
20
16
|
})
|
|
21
17
|
.readonly();
|
|
22
|
-
function referenceChecksum() {
|
|
23
|
-
let checksum = 1;
|
|
24
|
-
for (let index = 0; index < iterations; index += 1) {
|
|
25
|
-
checksum = Math.abs(Math.imul(checksum + index, multiplier) + increment) % integerRange;
|
|
26
|
-
}
|
|
27
|
-
return checksum;
|
|
28
|
-
}
|
|
29
|
-
function hostMetadata() {
|
|
30
|
-
const cpus = os.cpus();
|
|
31
|
-
return {
|
|
32
|
-
architecture: process.arch,
|
|
33
|
-
availableParallelism: os.availableParallelism(),
|
|
34
|
-
cpuCount: cpus.length,
|
|
35
|
-
cpuModels: Array
|
|
36
|
-
.from(new Set(cpus.map(function cpuModel(cpu) {
|
|
37
|
-
return cpu.model;
|
|
38
|
-
})))
|
|
39
|
-
.toSorted(function alphabetical(left, right) {
|
|
40
|
-
return left.localeCompare(right);
|
|
41
|
-
}),
|
|
42
|
-
freeMemoryBytes: os.freemem(),
|
|
43
|
-
loadAverage: os.loadavg(),
|
|
44
|
-
nodeArguments: Array.from(process.execArgv),
|
|
45
|
-
nodeVersion: process.versions.node,
|
|
46
|
-
operatingSystem: process.platform,
|
|
47
|
-
operatingSystemRelease: os.release(),
|
|
48
|
-
totalMemoryBytes: os.totalmem()
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function machineClass(metadata) {
|
|
52
|
-
const classification = JSON.stringify({
|
|
53
|
-
architecture: metadata.architecture,
|
|
54
|
-
cpuCount: metadata.cpuCount,
|
|
55
|
-
cpuModels: metadata.cpuModels.map(function (model) {
|
|
56
|
-
return model.normalize('NFC');
|
|
57
|
-
}),
|
|
58
|
-
nodeArguments: metadata.nodeArguments.map(function (argument) {
|
|
59
|
-
return argument.normalize('NFC');
|
|
60
|
-
}),
|
|
61
|
-
nodeMajor: metadata.nodeVersion.split('.', 1)[0],
|
|
62
|
-
operatingSystem: metadata.operatingSystem,
|
|
63
|
-
totalMemoryBytes: metadata.totalMemoryBytes
|
|
64
|
-
});
|
|
65
|
-
const digest = createHash('sha256').update(classification).digest('hex').slice(0, machineClassDigestLength);
|
|
66
|
-
return `${metadata.operatingSystem}-${metadata.architecture}-${digest}`;
|
|
67
|
-
}
|
|
68
18
|
function calibrationSamples(expectedChecksum) {
|
|
69
19
|
referenceChecksum();
|
|
70
20
|
const samples = [];
|
|
@@ -98,7 +48,7 @@ function referenceCalibration() {
|
|
|
98
48
|
};
|
|
99
49
|
}
|
|
100
50
|
export function calibrateBenchmarkHost() {
|
|
101
|
-
const metadata =
|
|
51
|
+
const metadata = readCalibrationHostMetadata(Array.from(process.execArgv));
|
|
102
52
|
if (metadata.cpuModels.length === 0) {
|
|
103
53
|
return {
|
|
104
54
|
kind: 'non-comparable',
|
|
@@ -109,7 +59,7 @@ export function calibrateBenchmarkHost() {
|
|
|
109
59
|
const context = referenceCalibration();
|
|
110
60
|
return context === null
|
|
111
61
|
? { kind: 'non-comparable', metadata, reason: 'CPU reference calibration did not produce valid samples.' }
|
|
112
|
-
: { context, kind: 'comparable', machineClass:
|
|
62
|
+
: { context, kind: 'comparable', machineClass: calibrationMachineClass(metadata), metadata };
|
|
113
63
|
}
|
|
114
64
|
export function normalizeBenchmarkDuration(input) {
|
|
115
65
|
if (!Number.isFinite(input.durationMicroseconds) || input.durationMicroseconds < 0) {
|
|
@@ -126,4 +76,11 @@ export function normalizeBenchmarkDuration(input) {
|
|
|
126
76
|
}
|
|
127
77
|
return normalized;
|
|
128
78
|
}
|
|
79
|
+
export { referenceChecksum as runCpuCalibrationWorkload } from "../../bench/cpu-reference-workload.js";
|
|
80
|
+
export { readCalibrationReferenceReport } from "../../bench/calibration-report.js";
|
|
81
|
+
export { metricReadingSchema } from "../../bench/benchmark-statistics-schema.js";
|
|
82
|
+
export function readBenchmarkMachine() {
|
|
83
|
+
const metadata = readCalibrationHostMetadata(process.execArgv);
|
|
84
|
+
return { machineClass: calibrationMachineClass(metadata), metadata };
|
|
85
|
+
}
|
|
129
86
|
//# sourceMappingURL=benchmark-calibration.entry-point.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-calibration.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/benchmark-calibration.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"benchmark-calibration.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/benchmark-calibration.entry-point.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAQ1F,OAAO,EACH,oBAAoB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AAoBjC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"command-line.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAQ1F,OAAO,EACH,oBAAoB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AAoBjC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,CA+DpG;AA8BD,eAAO,MAAM,iBAAiB,EAAE,iBAe/B,CAAC;AAEF,YAAY,EACR,2BAA2B,EAC3B,4BAA4B,EAC5B,oCAAoC,EACpC,uCAAuC,EACvC,mCAAmC,EACnC,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,iBAAiB,EACjB,6BAA6B,EAChC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,4BAA4B,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACR,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,6BAA6B,EAChC,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExH,YAAY,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -47,6 +47,10 @@ export function createNodeCommandLineRunner(options) {
|
|
|
47
47
|
return {
|
|
48
48
|
baseline: nodeCommandNamespace.baseline,
|
|
49
49
|
bench: {
|
|
50
|
+
async calibrate(request) {
|
|
51
|
+
const loadedRunner = await loadRunner();
|
|
52
|
+
return await loadedRunner.bench.calibrate(request);
|
|
53
|
+
},
|
|
50
54
|
baseline: nodeCommandNamespace.bench.baseline,
|
|
51
55
|
async listBenchmarks(request) {
|
|
52
56
|
const loadedRunner = await loadRunner();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-line.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"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"}
|
package/readme.md
CHANGED
|
@@ -95,6 +95,11 @@ Explicit ordinary coverage creates a fresh session and run record each time;
|
|
|
95
95
|
previous collection imports are not repeated for coverage. No disposal call is
|
|
96
96
|
required for an idle handle.
|
|
97
97
|
|
|
98
|
+
Native policy observations follow run and attempt ownership. Runner transport,
|
|
99
|
+
lifecycle callbacks, and reporter work do not acquire test-policy attribution.
|
|
100
|
+
Unknown observations remain run errors. Late test diagnostics retain their
|
|
101
|
+
original identity as attribution drift instead of blaming a later attempt.
|
|
102
|
+
|
|
98
103
|
Use `source: { kind: 'memory' }` for supplied config, or
|
|
99
104
|
`{ kind: 'config-file', request: { cwd, configPath }, resolvedPath }` for loaded
|
|
100
105
|
config. `resolvedPath` is the loaded config's `configPath`, including `null` for
|
|
@@ -548,3 +553,25 @@ unknown measurements remain serial. Requested worker and profile caps remain
|
|
|
548
553
|
visible and may be restricted further by calibration. Configured unavailable
|
|
549
554
|
signals block execution. See [Host conditions](../bench/readme.md#host-conditions) for limits, formulas, probe availability, and
|
|
550
555
|
snapshot timing. Baseline normalization remains in `benchmarkCalibration`.
|
|
556
|
+
|
|
557
|
+
Built-in timing and CPU metrics normalize automatically. Custom domains select
|
|
558
|
+
representative workloads with `calibratedMeasurement`. Calibration is cached within
|
|
559
|
+
an execution context; ordinary runs require no captured files. Normalized budgets
|
|
560
|
+
and snapshots use a shared reference-workload scale across hardware.
|
|
561
|
+
|
|
562
|
+
`overkill bench calibrate` optionally captures display references for the selected
|
|
563
|
+
benchmark profile. `orchestrator.bench.calibrate(command, { timing: null })` exposes
|
|
564
|
+
the same operation. Capture skips benchmark bodies and unrelated fixtures. Reference
|
|
565
|
+
files live under the baseline directory's `calibration` subdirectory. Version 4
|
|
566
|
+
`benchmark-run` artifacts and `RunFacts.benchmarkNormalization` retain reference
|
|
567
|
+
inputs. See the [benchmark guide](../bench/readme.md#calibration-and-normalization)
|
|
568
|
+
for scaling, uncertainty, saved expectations, and stale-reference maintenance.
|
|
569
|
+
|
|
570
|
+
`runCpuCalibrationWorkload()` from `@overkill-dev/run/benchmark-calibration` runs
|
|
571
|
+
the fixed integer-mix reference workload and returns its checksum. The built-in
|
|
572
|
+
CPU calibration resource measures this same workload.
|
|
573
|
+
|
|
574
|
+
`readBenchmarkMachine()` reads host identity and metadata without running a
|
|
575
|
+
reference workload. `metricReadingSchema` validates metric readings shared by
|
|
576
|
+
collectors and persisted samples. Both are exported by
|
|
577
|
+
`@overkill-dev/run/benchmark-calibration`.
|
|
@@ -15,13 +15,18 @@ function renderEntry(entry) {
|
|
|
15
15
|
}
|
|
16
16
|
function baselineCommandResult(result, verb) {
|
|
17
17
|
const runExitCode = readExitCodeFromRunResult(result.result);
|
|
18
|
+
const changed = result.changes.length > 0 || result.calibrationChanges.length > 0;
|
|
19
|
+
const previewChanged = verb === 'diff' && runExitCode === commandLineExitCodes.pass && changed;
|
|
18
20
|
return {
|
|
19
|
-
exitCode:
|
|
20
|
-
? commandLineExitCodes.testFailure
|
|
21
|
-
: runExitCode,
|
|
21
|
+
exitCode: previewChanged ? commandLineExitCodes.testFailure : runExitCode,
|
|
22
22
|
fallbackDiagnostics: formatRunnerErrorDiagnostics(result.undeliveredRunnerErrors),
|
|
23
23
|
runResult: result.result,
|
|
24
|
-
stdoutLines:
|
|
24
|
+
stdoutLines: [
|
|
25
|
+
...result.changes.map(renderChange),
|
|
26
|
+
...result.calibrationChanges.map(function calibrationChange(change) {
|
|
27
|
+
return `${change.kind} ${change.path}`;
|
|
28
|
+
})
|
|
29
|
+
]
|
|
25
30
|
};
|
|
26
31
|
}
|
|
27
32
|
async function executeBaselineCommand(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-baseline-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,6BAA6B,EAAqC,MAAM,+BAA+B,CAAC;AACjH,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EACH,oBAAoB,EACpB,uCAAuC,EACvC,4BAA4B,EAC5B,yBAAyB,EAI5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAc9E,SAAS,YAAY,CAAC,MAAsB;IACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAC3G,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAAoB;IACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAC3G,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAC1B,MAAkC,EAClC,IAA2B;IAE3B,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO;
|
|
1
|
+
{"version":3,"file":"benchmark-baseline-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { readCalibrationReferenceReport } from "../bench/calibration-report.js";
|
|
2
|
+
import { readPerformanceBaselineReport } from "../baselines/performance-report.js";
|
|
3
|
+
function calibrationChanges(result) {
|
|
4
|
+
return readCalibrationReferenceReport(result)?.changes ?? [];
|
|
5
|
+
}
|
|
6
|
+
export async function runBenchmarkBaselineVerb(input) {
|
|
7
|
+
const command = {
|
|
8
|
+
...input.command,
|
|
9
|
+
request: { ...input.command.request, baselineUpdateMode: input.verb }
|
|
10
|
+
};
|
|
11
|
+
const delivery = await input.operations.runWithReporterDelivery(command, input.options);
|
|
12
|
+
const report = readPerformanceBaselineReport(delivery.result);
|
|
13
|
+
return {
|
|
14
|
+
...delivery,
|
|
15
|
+
changes: report?.changes ?? [],
|
|
16
|
+
calibrationChanges: calibrationChanges(delivery.result),
|
|
17
|
+
writeOutcome: report?.writeOutcome ?? { kind: 'blocked' }
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=benchmark-baseline-execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-baseline-execution.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAanF,SAAS,kBAAkB,CACvB,MAA4C;IAE5C,OAAO,8BAA8B,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;AACjE,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,KAAkC;IAElC,MAAM,OAAO,GAAe;QACxB,GAAG,KAAK,CAAC,OAAO;QAChB,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,IAAI,EAAE;KACxE,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,6BAA6B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO;QACH,GAAG,QAAQ;QACX,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;QAC9B,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC;QACvD,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;KAC5D,CAAC;AACN,CAAC"}
|
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
import { realpath } from 'node:fs/promises';
|
|
2
2
|
import { posix as path } from 'node:path';
|
|
3
3
|
import { createPerformanceBaselineStore } from "../baselines/performance-store.js";
|
|
4
|
-
import { readPerformanceBaselineReport } from "../baselines/performance-report.js";
|
|
5
4
|
import { RunCollectionError } from "./run-errors.js";
|
|
6
5
|
import { selectBenchmarkProfile } from "./test-profile.js";
|
|
7
|
-
export async function runBenchmarkBaselineVerb(input) {
|
|
8
|
-
const command = {
|
|
9
|
-
...input.command,
|
|
10
|
-
request: { ...input.command.request, baselineUpdateMode: input.verb }
|
|
11
|
-
};
|
|
12
|
-
const delivery = await input.operations.runWithReporterDelivery(command, input.options);
|
|
13
|
-
const report = readPerformanceBaselineReport(delivery.result);
|
|
14
|
-
return {
|
|
15
|
-
...delivery,
|
|
16
|
-
changes: report?.changes ?? [],
|
|
17
|
-
writeOutcome: report?.writeOutcome ?? { kind: 'blocked' }
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
6
|
function matchesSourcePath(file, paths) {
|
|
21
7
|
if (paths.length === 0) {
|
|
22
8
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-baseline-operations.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark-baseline-operations.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAK3D,SAAS,iBAAiB,CAAC,IAAmB,EAAE,KAAwB;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,OAAO;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,OAAqC,EACrC,OAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC;QAC/C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS;QACtC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,gBAAgB;QAC9C,WAAW,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;KAC3C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,aAAa,CAAC,KAAK;QAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;YACvF,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAqC;IAC9E,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,IAAI,CAAC;QACD,OAAO,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CACxB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,EAChB,UAAU,CACb,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { readdir } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { RunCollectionError } from "./run-errors.js";
|
|
4
|
+
async function requiresBaselineSession(input) {
|
|
5
|
+
if (input.profile.baselines.adapters.length > 0 || input.request.baselineUpdateMode !== 'none') {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
const names = await readdir(path.resolve(input.projectRoot, input.profile.baselines.directory, 'performance'));
|
|
10
|
+
return names.some(function performanceFile(name) {
|
|
11
|
+
return name.endsWith('.benchmark.json');
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
if (error instanceof Error && Reflect.get(error, 'code') === 'ENOENT') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async function baselineCalibration(input, required) {
|
|
22
|
+
if (!required) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
if (input.profile.testFamily !== 'benchmark') {
|
|
26
|
+
throw new Error('Performance calibration requires a benchmark profile.');
|
|
27
|
+
}
|
|
28
|
+
const { collectBenchmarkCalibration } = await import("./benchmark-calibration.js");
|
|
29
|
+
const calibration = await collectBenchmarkCalibration({ cwd: input.projectRoot, profile: input.profile });
|
|
30
|
+
if (calibration.kind === 'non-comparable') {
|
|
31
|
+
throw new RunCollectionError(calibration.reason, { cause: calibration }, 'artifact');
|
|
32
|
+
}
|
|
33
|
+
return calibration;
|
|
34
|
+
}
|
|
35
|
+
export async function prepareBenchmarkBaselineRun(input, dependencies) {
|
|
36
|
+
if (input.profile.testFamily !== 'benchmark') {
|
|
37
|
+
throw new Error('Performance baseline execution requires a benchmark profile.');
|
|
38
|
+
}
|
|
39
|
+
const calibration = await baselineCalibration(input, input.benchmarkPurpose !== 'capture' && await requiresBaselineSession({ ...input, profile: input.profile }));
|
|
40
|
+
const { prepareBenchmarkNormalization } = await import("./benchmark-normalization-preparation.js");
|
|
41
|
+
const normalization = await prepareBenchmarkNormalization(input, calibration, dependencies);
|
|
42
|
+
const preparedInput = {
|
|
43
|
+
...input,
|
|
44
|
+
benchmarkCalibration: calibration,
|
|
45
|
+
benchmarkNormalization: normalization.context
|
|
46
|
+
};
|
|
47
|
+
if (normalization.capture !== null || calibration === null) {
|
|
48
|
+
return { input: preparedInput, session: normalization.capture ?? normalization.maintain(null) };
|
|
49
|
+
}
|
|
50
|
+
const baseline = await import("./benchmark-baseline-session.js");
|
|
51
|
+
return {
|
|
52
|
+
input: preparedInput,
|
|
53
|
+
session: normalization.maintain(await baseline.createBenchmarkBaselineSession({
|
|
54
|
+
calibration,
|
|
55
|
+
clock: dependencies.wallClock,
|
|
56
|
+
profile: input.profile,
|
|
57
|
+
projectRoot: input.projectRoot,
|
|
58
|
+
reporterDispatcher: dependencies.reporterDispatcher,
|
|
59
|
+
request: input.request
|
|
60
|
+
}))
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=benchmark-baseline-preparation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-baseline-preparation.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-preparation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +1,7 @@
|
|
|
1
|
-
import { readdir } from 'node:fs/promises';
|
|
2
|
-
import path from 'node:path';
|
|
3
1
|
import { evaluateBenchmarkHost } from "../bench/benchmark-host-assessment.js";
|
|
2
|
+
import { prepareBenchmarkBaselineRun } from "./benchmark-baseline-preparation.js";
|
|
4
3
|
import { createResultFromResolutionError, reportCollectionErrorResult } from "./run-collection-error-result.js";
|
|
5
4
|
import { RunCollectionError } from "./run-errors.js";
|
|
6
|
-
async function requiresBaselineSession(input) {
|
|
7
|
-
if (input.profile.baselines.adapters.length > 0 || input.request.baselineUpdateMode !== 'none') {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
try {
|
|
11
|
-
const names = await readdir(path.resolve(input.projectRoot, input.profile.baselines.directory, 'performance'));
|
|
12
|
-
return names.some(function performanceFile(name) {
|
|
13
|
-
return name.endsWith('.benchmark.json');
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
if (error instanceof Error && Reflect.get(error, 'code') === 'ENOENT') {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
throw error;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
async function prepareBenchmarkBaselineRun(input, dependencies) {
|
|
24
|
-
if (input.profile.testFamily !== 'benchmark') {
|
|
25
|
-
throw new Error('Performance baseline execution requires a benchmark profile.');
|
|
26
|
-
}
|
|
27
|
-
if (!await requiresBaselineSession({ ...input, profile: input.profile })) {
|
|
28
|
-
return { input, session: null };
|
|
29
|
-
}
|
|
30
|
-
const { collectBenchmarkCalibration } = await import("./benchmark-calibration.js");
|
|
31
|
-
const calibration = await collectBenchmarkCalibration({ cwd: input.projectRoot, profile: input.profile });
|
|
32
|
-
if (calibration.kind === 'non-comparable') {
|
|
33
|
-
throw new RunCollectionError(calibration.reason, { cause: calibration }, 'artifact');
|
|
34
|
-
}
|
|
35
|
-
const baseline = await import("./benchmark-baseline-session.js");
|
|
36
|
-
return {
|
|
37
|
-
input: { ...input, benchmarkCalibration: calibration },
|
|
38
|
-
session: await baseline.createBenchmarkBaselineSession({
|
|
39
|
-
calibration,
|
|
40
|
-
clock: dependencies.wallClock,
|
|
41
|
-
profile: input.profile,
|
|
42
|
-
projectRoot: input.projectRoot,
|
|
43
|
-
reporterDispatcher: dependencies.reporterDispatcher,
|
|
44
|
-
request: input.request
|
|
45
|
-
})
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
5
|
function benchmarkPreparationError(error, host) {
|
|
49
6
|
return error instanceof RunCollectionError ? error : new RunCollectionError(error instanceof Error ? error.message : String(error), { cause: error }, host === null ? 'measurement' : 'artifact');
|
|
50
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-baseline-run.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"benchmark-baseline-run.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { readCalibrationHostMetadata, calibrationMachineClass } from "../bench/calibration-machine.js";
|
|
3
4
|
import { benchmarkCalibrationSchema } from "../bench/calibration-schema.js";
|
|
4
5
|
import { childProcessEntryPointUrl } from "./child-process.entry-point.js";
|
|
5
6
|
import { benchmarkCalibrationRole, childRoleArgument } from "./child-process-roles.js";
|
|
@@ -23,6 +24,12 @@ function calibrationNodeArguments(execution) {
|
|
|
23
24
|
}
|
|
24
25
|
return execution.hostProcess.kind === 'child' ? execution.hostProcess.nodeArguments : Array.from(process.execArgv);
|
|
25
26
|
}
|
|
27
|
+
export function benchmarkNormalizationMachine(execution, calibration) {
|
|
28
|
+
const metadata = readCalibrationHostMetadata(calibrationNodeArguments(execution));
|
|
29
|
+
return calibration === null
|
|
30
|
+
? { machineClass: calibrationMachineClass(metadata), metadata }
|
|
31
|
+
: { machineClass: calibration.machineClass, metadata: calibration.metadata };
|
|
32
|
+
}
|
|
26
33
|
export async function collectBenchmarkCalibration(input) {
|
|
27
34
|
const nodeArguments = calibrationNodeArguments(input.profile.execution);
|
|
28
35
|
const stdout = await calibrationOutput([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-calibration.js","sourceRoot":"","sources":["../../../../source/run/benchmark-calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark-calibration.js","sourceRoot":"","sources":["../../../../source/run/benchmark-calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAGvG,OAAO,EAAE,0BAA0B,EAAmC,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAQ1E,KAAK,UAAU,iBAAiB,CAAC,IAAuB,EAAE,OAAwB;IAC9E,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM;QAC1D,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAS,CAAC,KAAmB,EAAE,MAAuB;YACrG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA8C;IAC5E,IAAI,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,UAAU,6BAA6B,CACzC,SAA8C,EAC9C,WAAyC;IAEzC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,OAAO,WAAW,KAAK,IAAI;QACvB,CAAC,CAAC,EAAE,YAAY,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE;QAC/D,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAyB;IACvE,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACnC,GAAG,aAAa;QAChB,aAAa,CAAC,yBAAyB,CAAC;QACxC,iBAAiB,CAAC,wBAAwB,CAAC;KAC9C,EAAE;QACC,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;QAC5E,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;KACzD,CAAC,CAAC;IACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-commands.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"benchmark-commands.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,4BAA4B,EAIpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiC,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AA2CjH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,4BAA4B,GAAG,4BAA4B,CA8EhH"}
|
|
@@ -1,7 +1,29 @@
|
|
|
1
|
+
import { readCalibrationReferenceReport } from "../bench/calibration-report.js";
|
|
1
2
|
import { createCommandLineErrorResultFromUnknown } from "./command-line-command.js";
|
|
2
3
|
import { selectBenchmarkCommandProfile } from "./benchmark-command-policy.js";
|
|
3
4
|
import { listTestsWithLoadedConfig, runTestsWithLoadedConfig } from "./command-line-execution.js";
|
|
4
5
|
import { createSystemRunTimingMeasurement, emptyTimingSpanMetadata } from "./run-timing-collection.js";
|
|
6
|
+
async function executeCalibration(dependencies, request, execution, timing) {
|
|
7
|
+
const loaded = await dependencies.loadConfig(request);
|
|
8
|
+
const profile = selectBenchmarkCommandProfile(request.runRequest.profile, loaded);
|
|
9
|
+
const result = await runTestsWithLoadedConfig({ ...request, runRequest: { ...request.runRequest, profile } }, {
|
|
10
|
+
...execution,
|
|
11
|
+
orchestrator: {
|
|
12
|
+
...execution.orchestrator,
|
|
13
|
+
runWithReporterDelivery: dependencies
|
|
14
|
+
.orchestrator
|
|
15
|
+
.bench
|
|
16
|
+
.calibrate
|
|
17
|
+
}
|
|
18
|
+
}, loaded, { timing });
|
|
19
|
+
const report = result.runResult === null ? null : readCalibrationReferenceReport(result.runResult);
|
|
20
|
+
return {
|
|
21
|
+
...result,
|
|
22
|
+
stdoutLines: report?.completed.map(function capturedReference(file) {
|
|
23
|
+
return `Captured calibration reference ${file}`;
|
|
24
|
+
}) ?? []
|
|
25
|
+
};
|
|
26
|
+
}
|
|
5
27
|
export function createBenchmarkCommands(dependencies) {
|
|
6
28
|
function baselineVerb(verb) {
|
|
7
29
|
return async function runBaselineCommand(request) {
|
|
@@ -17,6 +39,15 @@ export function createBenchmarkCommands(dependencies) {
|
|
|
17
39
|
}
|
|
18
40
|
};
|
|
19
41
|
return {
|
|
42
|
+
async calibrate(request) {
|
|
43
|
+
const timing = createSystemRunTimingMeasurement();
|
|
44
|
+
try {
|
|
45
|
+
return await executeCalibration(dependencies, request, execution, timing);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return createCommandLineErrorResultFromUnknown(error);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
20
51
|
baseline: {
|
|
21
52
|
apply: baselineVerb('apply'),
|
|
22
53
|
bootstrap: baselineVerb('bootstrap'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uCAAuC,
|
|
1
|
+
{"version":3,"file":"benchmark-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod/v4';
|
|
2
|
-
import {
|
|
2
|
+
import { normalizationRuleSummarySchema } from "../bench/calibration-evidence.js";
|
|
3
|
+
import { budgetStatisticSchema } from "../bench/benchmark-statistics-schema.js";
|
|
4
|
+
import { samplingPolicySchema, benchmarkLifecyclePolicySchema } from "./benchmark-policy-schema.js";
|
|
3
5
|
export const benchmarkDefinitionSchema = z.strictObject({
|
|
6
|
+
normalization: z.record(z.string(), normalizationRuleSummarySchema).default({}),
|
|
4
7
|
lifecycle: benchmarkLifecyclePolicySchema.nullable().default(null),
|
|
5
8
|
kind: z.string(),
|
|
6
9
|
workloads: z.array(z.strictObject({ name: z.string(), parameters: z.record(z.string(), z.json()) })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-definition-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-definition-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark-definition-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-definition-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,CAAC,MAAM,yBAAyB,GAA0C,CAAC,CAAC,YAAY,CAAC;IAC3F,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/E,SAAS,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,OAAO,EAAE,MAAM,CAAE,CAAC;YACjC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;oBACrB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAE,CAAC;oBACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;iBACnB,CAAC,CAAC;aACN,CAAC,CAAC;SACN,CAAC;QACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,MAAM,EAAE,KAAK,CAAE,CAAC,EAAE,CAAC;KAC7F,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CACb,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC,CACN;IACD,MAAM,EAAE,oBAAoB;CAC/B,CAAC,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export function createBenchmarkExecutionEnvironment(policy, boundary) {
|
|
1
|
+
export function createBenchmarkExecutionEnvironment(policy, boundary, normalization) {
|
|
2
2
|
if (policy === null) {
|
|
3
3
|
return null;
|
|
4
4
|
}
|
|
5
5
|
const collect = globalThis.gc;
|
|
6
6
|
return {
|
|
7
|
+
normalization,
|
|
7
8
|
profileGarbageCollection: policy,
|
|
8
9
|
garbageCollection: boundary !== 'direct' && typeof collect === 'function'
|
|
9
10
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-execution-environment.js","sourceRoot":"","sources":["../../../../source/run/benchmark-execution-environment.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mCAAmC,CAC/C,MAA+C,EAC/C,QAA2D;
|
|
1
|
+
{"version":3,"file":"benchmark-execution-environment.js","sourceRoot":"","sources":["../../../../source/run/benchmark-execution-environment.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mCAAmC,CAC/C,MAA+C,EAC/C,QAA2D,EAC3D,aAAmD;IAEnD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IAC9B,OAAO;QACH,aAAa;QACb,wBAAwB,EAAE,MAAM;QAChC,iBAAiB,EAAE,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,UAAU;YACrE,CAAC,CAAC;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO;oBACH,OAAO,EAAE,CAAC;gBACd,CAAC;aACJ;YACD,CAAC,CAAC;gBACE,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,8FAA8F;aACzG;KACR,CAAC;AACN,CAAC"}
|