@benchkit/format 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +521 -0
- package/dist/build-otlp-result.d.ts +43 -0
- package/dist/build-otlp-result.d.ts.map +1 -0
- package/dist/build-otlp-result.js +102 -0
- package/dist/build-otlp-result.js.map +1 -0
- package/dist/build-otlp-result.test.d.ts +2 -0
- package/dist/build-otlp-result.test.d.ts.map +1 -0
- package/dist/build-otlp-result.test.js +148 -0
- package/dist/build-otlp-result.test.js.map +1 -0
- package/dist/compare.d.ts +20 -0
- package/dist/compare.d.ts.map +1 -0
- package/dist/compare.js +92 -0
- package/dist/compare.js.map +1 -0
- package/dist/compare.test.d.ts +2 -0
- package/dist/compare.test.d.ts.map +1 -0
- package/dist/compare.test.js +233 -0
- package/dist/compare.test.js.map +1 -0
- package/dist/format-comparison-markdown.d.ts +3 -0
- package/dist/format-comparison-markdown.d.ts.map +1 -0
- package/dist/format-comparison-markdown.js +142 -0
- package/dist/format-comparison-markdown.js.map +1 -0
- package/dist/format-comparison-markdown.test.d.ts +2 -0
- package/dist/format-comparison-markdown.test.d.ts.map +1 -0
- package/dist/format-comparison-markdown.test.js +173 -0
- package/dist/format-comparison-markdown.test.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/infer-direction.d.ts +10 -0
- package/dist/infer-direction.d.ts.map +1 -0
- package/dist/infer-direction.js +23 -0
- package/dist/infer-direction.js.map +1 -0
- package/dist/infer-direction.test.d.ts +2 -0
- package/dist/infer-direction.test.d.ts.map +1 -0
- package/dist/infer-direction.test.js +28 -0
- package/dist/infer-direction.test.js.map +1 -0
- package/dist/metrics-batch.d.ts +55 -0
- package/dist/metrics-batch.d.ts.map +1 -0
- package/dist/metrics-batch.js +296 -0
- package/dist/metrics-batch.js.map +1 -0
- package/dist/metrics-batch.test.d.ts +2 -0
- package/dist/metrics-batch.test.d.ts.map +1 -0
- package/dist/metrics-batch.test.js +306 -0
- package/dist/metrics-batch.test.js.map +1 -0
- package/dist/native-builder.d.ts.map +1 -0
- package/dist/native-builder.js.map +1 -0
- package/dist/native-builder.test.d.ts.map +1 -0
- package/dist/native-builder.test.js.map +1 -0
- package/dist/otlp-conventions.d.ts +80 -0
- package/dist/otlp-conventions.d.ts.map +1 -0
- package/dist/otlp-conventions.js +114 -0
- package/dist/otlp-conventions.js.map +1 -0
- package/dist/otlp-conventions.test.d.ts +2 -0
- package/dist/otlp-conventions.test.d.ts.map +1 -0
- package/dist/otlp-conventions.test.js +65 -0
- package/dist/otlp-conventions.test.js.map +1 -0
- package/dist/otlp-projections.d.ts.map +1 -0
- package/dist/otlp-projections.js.map +1 -0
- package/dist/otlp-projections.test.d.ts.map +1 -0
- package/dist/otlp-projections.test.js.map +1 -0
- package/dist/otlp-validation.d.ts +40 -0
- package/dist/otlp-validation.d.ts.map +1 -0
- package/dist/otlp-validation.js +110 -0
- package/dist/otlp-validation.js.map +1 -0
- package/dist/otlp-validation.test.d.ts +2 -0
- package/dist/otlp-validation.test.d.ts.map +1 -0
- package/dist/otlp-validation.test.js +160 -0
- package/dist/otlp-validation.test.js.map +1 -0
- package/dist/parse-benchmark-action.d.ts +11 -0
- package/dist/parse-benchmark-action.d.ts.map +1 -0
- package/dist/parse-benchmark-action.js +54 -0
- package/dist/parse-benchmark-action.js.map +1 -0
- package/dist/parse-benchmark-action.test.d.ts +2 -0
- package/dist/parse-benchmark-action.test.d.ts.map +1 -0
- package/dist/parse-benchmark-action.test.js +66 -0
- package/dist/parse-benchmark-action.test.js.map +1 -0
- package/dist/parse-go.d.ts +12 -0
- package/dist/parse-go.d.ts.map +1 -0
- package/dist/parse-go.js +63 -0
- package/dist/parse-go.js.map +1 -0
- package/dist/parse-go.test.d.ts +2 -0
- package/dist/parse-go.test.d.ts.map +1 -0
- package/dist/parse-go.test.js +110 -0
- package/dist/parse-go.test.js.map +1 -0
- package/dist/parse-hyperfine.d.ts +3 -0
- package/dist/parse-hyperfine.d.ts.map +1 -0
- package/dist/parse-hyperfine.js +59 -0
- package/dist/parse-hyperfine.js.map +1 -0
- package/dist/parse-hyperfine.test.d.ts +2 -0
- package/dist/parse-hyperfine.test.d.ts.map +1 -0
- package/dist/parse-hyperfine.test.js +64 -0
- package/dist/parse-hyperfine.test.js.map +1 -0
- package/dist/parse-otlp.d.ts +45 -0
- package/dist/parse-otlp.d.ts.map +1 -0
- package/dist/parse-otlp.js +92 -0
- package/dist/parse-otlp.js.map +1 -0
- package/dist/parse-otlp.test.d.ts +2 -0
- package/dist/parse-otlp.test.d.ts.map +1 -0
- package/dist/parse-otlp.test.js +133 -0
- package/dist/parse-otlp.test.js.map +1 -0
- package/dist/parse-pytest-benchmark.d.ts +3 -0
- package/dist/parse-pytest-benchmark.d.ts.map +1 -0
- package/dist/parse-pytest-benchmark.js +72 -0
- package/dist/parse-pytest-benchmark.js.map +1 -0
- package/dist/parse-pytest-benchmark.test.d.ts +2 -0
- package/dist/parse-pytest-benchmark.test.d.ts.map +1 -0
- package/dist/parse-pytest-benchmark.test.js +85 -0
- package/dist/parse-pytest-benchmark.test.js.map +1 -0
- package/dist/parse-rust.d.ts +9 -0
- package/dist/parse-rust.d.ts.map +1 -0
- package/dist/parse-rust.js +50 -0
- package/dist/parse-rust.js.map +1 -0
- package/dist/parse-rust.test.d.ts +2 -0
- package/dist/parse-rust.test.d.ts.map +1 -0
- package/dist/parse-rust.test.js +62 -0
- package/dist/parse-rust.test.js.map +1 -0
- package/dist/parse.d.ts +7 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +87 -0
- package/dist/parse.js.map +1 -0
- package/dist/parse.test.d.ts +2 -0
- package/dist/parse.test.d.ts.map +1 -0
- package/dist/parse.test.js +171 -0
- package/dist/parse.test.js.map +1 -0
- package/dist/parser-utils.d.ts +17 -0
- package/dist/parser-utils.d.ts.map +1 -0
- package/dist/parser-utils.js +29 -0
- package/dist/parser-utils.js.map +1 -0
- package/dist/parser-utils.test.d.ts +2 -0
- package/dist/parser-utils.test.d.ts.map +1 -0
- package/dist/parser-utils.test.js +27 -0
- package/dist/parser-utils.test.js.map +1 -0
- package/dist/retry.d.ts +6 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +18 -0
- package/dist/retry.js.map +1 -0
- package/dist/retry.test.d.ts +2 -0
- package/dist/retry.test.d.ts.map +1 -0
- package/dist/retry.test.js +29 -0
- package/dist/retry.test.js.map +1 -0
- package/dist/test-otlp-helpers.d.ts.map +1 -0
- package/dist/test-otlp-helpers.js.map +1 -0
- package/dist/types.d.ts +58 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +22 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
8
|
+
const metrics_batch_js_1 = require("./metrics-batch.js");
|
|
9
|
+
const build_otlp_result_js_1 = require("./build-otlp-result.js");
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Helpers
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
function makeDoc() {
|
|
14
|
+
return (0, build_otlp_result_js_1.buildOtlpResult)({
|
|
15
|
+
benchmarks: [
|
|
16
|
+
{
|
|
17
|
+
name: "BenchmarkSort",
|
|
18
|
+
tags: { impl: "quicksort" },
|
|
19
|
+
metrics: {
|
|
20
|
+
"ns/op": { value: 1500, unit: "ns", direction: "smaller_is_better" },
|
|
21
|
+
"allocs/op": { value: 3, unit: "1" },
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: "BenchmarkSearch",
|
|
26
|
+
metrics: {
|
|
27
|
+
"ns/op": { value: 800, unit: "ns", direction: "smaller_is_better" },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "_monitor.cpu_user_pct",
|
|
32
|
+
metrics: {
|
|
33
|
+
"_monitor.cpu_user_pct": { value: 42.5, unit: "%" },
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
context: {
|
|
38
|
+
sourceFormat: "go",
|
|
39
|
+
runId: "123-1",
|
|
40
|
+
kind: "code",
|
|
41
|
+
ref: "refs/heads/main",
|
|
42
|
+
commit: "abc123",
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
// fromOtlp
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
(0, node_test_1.describe)("MetricsBatch.fromOtlp", () => {
|
|
50
|
+
(0, node_test_1.it)("flattens OTLP into MetricPoints", () => {
|
|
51
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
52
|
+
strict_1.default.equal(batch.size, 4);
|
|
53
|
+
});
|
|
54
|
+
(0, node_test_1.it)("extracts resource context", () => {
|
|
55
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
56
|
+
strict_1.default.equal(batch.context.runId, "123-1");
|
|
57
|
+
strict_1.default.equal(batch.context.kind, "code");
|
|
58
|
+
strict_1.default.equal(batch.context.sourceFormat, "go");
|
|
59
|
+
strict_1.default.equal(batch.context.ref, "refs/heads/main");
|
|
60
|
+
strict_1.default.equal(batch.context.commit, "abc123");
|
|
61
|
+
});
|
|
62
|
+
(0, node_test_1.it)("extracts scenario from datapoint attributes", () => {
|
|
63
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
64
|
+
const sort = batch.points.filter((p) => p.scenario === "BenchmarkSort");
|
|
65
|
+
strict_1.default.equal(sort.length, 2);
|
|
66
|
+
});
|
|
67
|
+
(0, node_test_1.it)("extracts tags excluding reserved attributes", () => {
|
|
68
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
69
|
+
const p = batch.points.find((p) => p.scenario === "BenchmarkSort" && p.metric === "ns/op");
|
|
70
|
+
strict_1.default.ok(p);
|
|
71
|
+
strict_1.default.equal(p.tags["impl"], "quicksort");
|
|
72
|
+
strict_1.default.equal(p.tags["benchkit.scenario"], undefined);
|
|
73
|
+
});
|
|
74
|
+
(0, node_test_1.it)("extracts direction and unit", () => {
|
|
75
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
76
|
+
const p = batch.points.find((p) => p.scenario === "BenchmarkSort" && p.metric === "ns/op");
|
|
77
|
+
strict_1.default.ok(p);
|
|
78
|
+
strict_1.default.equal(p.direction, "smaller_is_better");
|
|
79
|
+
strict_1.default.equal(p.unit, "ns");
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
// fromPoints
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
(0, node_test_1.describe)("MetricsBatch.fromPoints", () => {
|
|
86
|
+
(0, node_test_1.it)("creates batch from raw points", () => {
|
|
87
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
88
|
+
{ scenario: "A", series: "A", metric: "x", value: 1, unit: "", direction: undefined, role: undefined, tags: {}, timestamp: undefined },
|
|
89
|
+
]);
|
|
90
|
+
strict_1.default.equal(batch.size, 1);
|
|
91
|
+
strict_1.default.equal(batch.context.runId, undefined);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
// Scalar accessors
|
|
96
|
+
// ---------------------------------------------------------------------------
|
|
97
|
+
(0, node_test_1.describe)("MetricsBatch accessors", () => {
|
|
98
|
+
(0, node_test_1.it)("scenarios returns sorted unique scenarios", () => {
|
|
99
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
100
|
+
strict_1.default.deepEqual(batch.scenarios, ["BenchmarkSearch", "BenchmarkSort", "_monitor.cpu_user_pct"]);
|
|
101
|
+
});
|
|
102
|
+
(0, node_test_1.it)("metricNames returns sorted unique metric names", () => {
|
|
103
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
104
|
+
strict_1.default.deepEqual(batch.metricNames, ["_monitor.cpu_user_pct", "allocs/op", "ns/op"]);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
// Filter
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
(0, node_test_1.describe)("MetricsBatch.filter", () => {
|
|
111
|
+
(0, node_test_1.it)("filter keeps matching points", () => {
|
|
112
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
113
|
+
const filtered = batch.filter((p) => p.value > 100);
|
|
114
|
+
strict_1.default.equal(filtered.size, 2); // 1500, 800
|
|
115
|
+
});
|
|
116
|
+
(0, node_test_1.it)("forScenario filters by scenario name", () => {
|
|
117
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
118
|
+
const sort = batch.forScenario("BenchmarkSort");
|
|
119
|
+
strict_1.default.equal(sort.size, 2);
|
|
120
|
+
strict_1.default.ok(sort.points.every((p) => p.scenario === "BenchmarkSort"));
|
|
121
|
+
});
|
|
122
|
+
(0, node_test_1.it)("forMetric filters by metric name", () => {
|
|
123
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
124
|
+
const nsOp = batch.forMetric("ns/op");
|
|
125
|
+
strict_1.default.equal(nsOp.size, 2); // Sort + Search
|
|
126
|
+
});
|
|
127
|
+
(0, node_test_1.it)("withoutMonitor excludes monitor metrics", () => {
|
|
128
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
129
|
+
const noMonitor = batch.withoutMonitor();
|
|
130
|
+
strict_1.default.equal(noMonitor.size, 3);
|
|
131
|
+
strict_1.default.ok(noMonitor.points.every((p) => !p.metric.startsWith("_monitor.")));
|
|
132
|
+
});
|
|
133
|
+
(0, node_test_1.it)("onlyMonitor keeps only monitor metrics", () => {
|
|
134
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
135
|
+
const monitor = batch.onlyMonitor();
|
|
136
|
+
strict_1.default.equal(monitor.size, 1);
|
|
137
|
+
strict_1.default.equal(monitor.points[0].metric, "_monitor.cpu_user_pct");
|
|
138
|
+
});
|
|
139
|
+
(0, node_test_1.it)("filters are chainable", () => {
|
|
140
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
141
|
+
const result = batch.withoutMonitor().forMetric("ns/op").forScenario("BenchmarkSort");
|
|
142
|
+
strict_1.default.equal(result.size, 1);
|
|
143
|
+
strict_1.default.equal(result.points[0].value, 1500);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// GroupBy
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
(0, node_test_1.describe)("MetricsBatch.groupBy", () => {
|
|
150
|
+
(0, node_test_1.it)("groupByScenario groups points by scenario", () => {
|
|
151
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
152
|
+
const groups = batch.groupByScenario();
|
|
153
|
+
strict_1.default.equal(groups.size, 3);
|
|
154
|
+
strict_1.default.equal(groups.get("BenchmarkSort").size, 2);
|
|
155
|
+
strict_1.default.equal(groups.get("BenchmarkSearch").size, 1);
|
|
156
|
+
});
|
|
157
|
+
(0, node_test_1.it)("groupByMetric groups points by metric name", () => {
|
|
158
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
159
|
+
const groups = batch.groupByMetric();
|
|
160
|
+
strict_1.default.equal(groups.get("ns/op").size, 2);
|
|
161
|
+
strict_1.default.equal(groups.get("allocs/op").size, 1);
|
|
162
|
+
});
|
|
163
|
+
(0, node_test_1.it)("groupBySeries uses name + sorted tags", () => {
|
|
164
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
165
|
+
const groups = batch.groupBySeries();
|
|
166
|
+
// BenchmarkSort has tag impl=quicksort
|
|
167
|
+
strict_1.default.ok(groups.has("BenchmarkSort [impl=quicksort]"));
|
|
168
|
+
// BenchmarkSearch has no tags
|
|
169
|
+
strict_1.default.ok(groups.has("BenchmarkSearch"));
|
|
170
|
+
});
|
|
171
|
+
(0, node_test_1.it)("custom groupBy works", () => {
|
|
172
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
173
|
+
const groups = batch.groupBy((p) => p.unit);
|
|
174
|
+
strict_1.default.ok(groups.has("ns"));
|
|
175
|
+
strict_1.default.ok(groups.has("1"));
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
// ---------------------------------------------------------------------------
|
|
179
|
+
// Merge
|
|
180
|
+
// ---------------------------------------------------------------------------
|
|
181
|
+
(0, node_test_1.describe)("MetricsBatch.merge", () => {
|
|
182
|
+
(0, node_test_1.it)("merges multiple batches", () => {
|
|
183
|
+
const a = metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
184
|
+
{ scenario: "A", series: "A", metric: "x", value: 1, unit: "", direction: undefined, role: undefined, tags: {}, timestamp: undefined },
|
|
185
|
+
], { runId: "run-1", kind: undefined, sourceFormat: "go", commit: undefined, ref: undefined, workflow: undefined, job: undefined, runAttempt: undefined, runner: undefined, serviceName: undefined });
|
|
186
|
+
const b = metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
187
|
+
{ scenario: "B", series: "B", metric: "y", value: 2, unit: "", direction: undefined, role: undefined, tags: {}, timestamp: undefined },
|
|
188
|
+
]);
|
|
189
|
+
const merged = metrics_batch_js_1.MetricsBatch.merge(a, b);
|
|
190
|
+
strict_1.default.equal(merged.size, 2);
|
|
191
|
+
strict_1.default.equal(merged.context.runId, "run-1"); // uses first batch's context
|
|
192
|
+
});
|
|
193
|
+
(0, node_test_1.it)("merge of empty array returns empty batch", () => {
|
|
194
|
+
const merged = metrics_batch_js_1.MetricsBatch.merge();
|
|
195
|
+
strict_1.default.equal(merged.size, 0);
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
// toOtlp round-trip
|
|
200
|
+
// ---------------------------------------------------------------------------
|
|
201
|
+
(0, node_test_1.describe)("MetricsBatch.toOtlp", () => {
|
|
202
|
+
(0, node_test_1.it)("round-trips through fromOtlp → toOtlp → fromOtlp", () => {
|
|
203
|
+
const original = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
204
|
+
const doc = original.toOtlp();
|
|
205
|
+
const restored = metrics_batch_js_1.MetricsBatch.fromOtlp(doc);
|
|
206
|
+
strict_1.default.equal(restored.size, original.size);
|
|
207
|
+
strict_1.default.deepEqual(restored.scenarios, original.scenarios);
|
|
208
|
+
strict_1.default.deepEqual(restored.metricNames, original.metricNames);
|
|
209
|
+
strict_1.default.equal(restored.context.runId, original.context.runId);
|
|
210
|
+
strict_1.default.equal(restored.context.sourceFormat, original.context.sourceFormat);
|
|
211
|
+
});
|
|
212
|
+
(0, node_test_1.it)("preserves values through round-trip", () => {
|
|
213
|
+
const original = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
214
|
+
const restored = metrics_batch_js_1.MetricsBatch.fromOtlp(original.toOtlp());
|
|
215
|
+
for (const orig of original.points) {
|
|
216
|
+
const found = restored.points.find((p) => p.scenario === orig.scenario && p.metric === orig.metric);
|
|
217
|
+
strict_1.default.ok(found, `missing ${orig.scenario}/${orig.metric}`);
|
|
218
|
+
strict_1.default.equal(found.value, orig.value);
|
|
219
|
+
strict_1.default.equal(found.unit, orig.unit);
|
|
220
|
+
strict_1.default.equal(found.direction, orig.direction);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
(0, node_test_1.it)("preserves tags through round-trip", () => {
|
|
224
|
+
const original = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
225
|
+
const restored = metrics_batch_js_1.MetricsBatch.fromOtlp(original.toOtlp());
|
|
226
|
+
const origSort = original.points.find((p) => p.scenario === "BenchmarkSort" && p.metric === "ns/op");
|
|
227
|
+
const restoredSort = restored.points.find((p) => p.scenario === "BenchmarkSort" && p.metric === "ns/op");
|
|
228
|
+
strict_1.default.ok(origSort && restoredSort);
|
|
229
|
+
strict_1.default.deepEqual(restoredSort.tags, origSort.tags);
|
|
230
|
+
});
|
|
231
|
+
(0, node_test_1.it)("toJson returns valid JSON", () => {
|
|
232
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
233
|
+
const json = batch.toJson();
|
|
234
|
+
const parsed = JSON.parse(json);
|
|
235
|
+
strict_1.default.ok(parsed.resourceMetrics);
|
|
236
|
+
strict_1.default.ok(parsed.resourceMetrics[0].scopeMetrics);
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
// ---------------------------------------------------------------------------
|
|
240
|
+
// seriesKey
|
|
241
|
+
// ---------------------------------------------------------------------------
|
|
242
|
+
(0, node_test_1.describe)("seriesKey", () => {
|
|
243
|
+
(0, node_test_1.it)("returns series name when no tags", () => {
|
|
244
|
+
const key = (0, metrics_batch_js_1.seriesKey)({
|
|
245
|
+
scenario: "A", series: "A", metric: "x", value: 1,
|
|
246
|
+
unit: "", direction: undefined, role: undefined, tags: {}, timestamp: undefined,
|
|
247
|
+
});
|
|
248
|
+
strict_1.default.equal(key, "A");
|
|
249
|
+
});
|
|
250
|
+
(0, node_test_1.it)("appends sorted tags", () => {
|
|
251
|
+
const key = (0, metrics_batch_js_1.seriesKey)({
|
|
252
|
+
scenario: "A", series: "A", metric: "x", value: 1,
|
|
253
|
+
unit: "", direction: undefined, role: undefined,
|
|
254
|
+
tags: { z: "3", a: "1" }, timestamp: undefined,
|
|
255
|
+
});
|
|
256
|
+
strict_1.default.equal(key, "A [a=1,z=3]");
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
// ---------------------------------------------------------------------------
|
|
260
|
+
// Real-world usage patterns (from consumer audit)
|
|
261
|
+
// ---------------------------------------------------------------------------
|
|
262
|
+
(0, node_test_1.describe)("Consumer patterns", () => {
|
|
263
|
+
(0, node_test_1.it)("stash: split bench vs monitor for markdown", () => {
|
|
264
|
+
const batch = metrics_batch_js_1.MetricsBatch.fromOtlp(makeDoc());
|
|
265
|
+
const benchmarks = batch.withoutMonitor().groupByScenario();
|
|
266
|
+
const monitor = batch.onlyMonitor().groupByScenario();
|
|
267
|
+
strict_1.default.equal(benchmarks.size, 2);
|
|
268
|
+
strict_1.default.equal(monitor.size, 1);
|
|
269
|
+
// Each scenario group has its metrics
|
|
270
|
+
const sort = benchmarks.get("BenchmarkSort");
|
|
271
|
+
strict_1.default.deepEqual(sort.metricNames, ["allocs/op", "ns/op"]);
|
|
272
|
+
});
|
|
273
|
+
(0, node_test_1.it)("aggregate: build series with averaged repeated runs", () => {
|
|
274
|
+
// Simulate 3 runs of BenchmarkSort with different values
|
|
275
|
+
const runs = [100, 200, 300].map((v) => metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
276
|
+
{ scenario: "BenchmarkSort", series: "BenchmarkSort", metric: "ns/op", value: v, unit: "ns", direction: "smaller_is_better", role: "outcome", tags: {}, timestamp: undefined },
|
|
277
|
+
]));
|
|
278
|
+
const merged = metrics_batch_js_1.MetricsBatch.merge(...runs);
|
|
279
|
+
const byMetric = merged.groupByMetric();
|
|
280
|
+
const nsOp = byMetric.get("ns/op");
|
|
281
|
+
const values = nsOp.points.map((p) => p.value);
|
|
282
|
+
const avg = values.reduce((a, b) => a + b, 0) / values.length;
|
|
283
|
+
strict_1.default.equal(avg, 200);
|
|
284
|
+
strict_1.default.equal(Math.max(...values) - Math.min(...values), 200); // range
|
|
285
|
+
});
|
|
286
|
+
(0, node_test_1.it)("compare: current vs averaged baseline", () => {
|
|
287
|
+
const current = metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
288
|
+
{ scenario: "BenchmarkSort", series: "BenchmarkSort", metric: "ns/op", value: 150, unit: "ns", direction: "smaller_is_better", role: "outcome", tags: {}, timestamp: undefined },
|
|
289
|
+
]);
|
|
290
|
+
const baseline = metrics_batch_js_1.MetricsBatch.merge(metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
291
|
+
{ scenario: "BenchmarkSort", series: "BenchmarkSort", metric: "ns/op", value: 100, unit: "ns", direction: "smaller_is_better", role: "outcome", tags: {}, timestamp: undefined },
|
|
292
|
+
]), metrics_batch_js_1.MetricsBatch.fromPoints([
|
|
293
|
+
{ scenario: "BenchmarkSort", series: "BenchmarkSort", metric: "ns/op", value: 100, unit: "ns", direction: "smaller_is_better", role: "outcome", tags: {}, timestamp: undefined },
|
|
294
|
+
]));
|
|
295
|
+
for (const point of current.points) {
|
|
296
|
+
const baselineValues = baseline
|
|
297
|
+
.forScenario(point.scenario)
|
|
298
|
+
.forMetric(point.metric)
|
|
299
|
+
.points.map((p) => p.value);
|
|
300
|
+
const baselineAvg = baselineValues.reduce((a, b) => a + b, 0) / baselineValues.length;
|
|
301
|
+
const pctChange = ((point.value - baselineAvg) / baselineAvg) * 100;
|
|
302
|
+
strict_1.default.equal(pctChange, 50); // 150 vs 100 = 50% regression
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
//# sourceMappingURL=metrics-batch.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-batch.test.js","sourceRoot":"","sources":["../src/metrics-batch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-builder.d.ts","sourceRoot":"","sources":["../src/native-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EAEf,MAAM,EACN,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAUpB;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAM,GAAG,MAAM,CAQjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAgBpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAKzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,eAAe,GAAG,gBAAgB,EAChD,MAAM,SAAI,GACT,MAAM,CAKR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-builder.js","sourceRoot":"","sources":["../src/native-builder.ts"],"names":[],"mappings":";;AA8BA,oCAQC;AAYD,0CAgBC;AAWD,8CAKC;AAaD,sDAQC;AAvGD,6DAAsD;AACtD,uDAAgD;AAWhD,SAAS,YAAY,CAAC,OAA4B;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAAC,KAAa,EAAE,UAA2C,EAAE;IACvF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mCAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjG,OAAO;QACL,KAAK;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS;QACT,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,IAAyB;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9C,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,IAAsB;IACtD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1E,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CACnC,YAAgD,EAChD,MAAM,GAAG,CAAC;IAEV,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAgC,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,IAAA,6BAAW,EAAC,IAAI,CAAC,CAAC;IAClB,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-builder.test.d.ts","sourceRoot":"","sources":["../src/native-builder.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-builder.test.js","sourceRoot":"","sources":["../src/native-builder.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Benchkit OTLP Semantic Conventions
|
|
3
|
+
*
|
|
4
|
+
* Canonical attribute names and valid values for the benchkit OTLP contract.
|
|
5
|
+
* Source of truth: docs/otlp-semantic-conventions.md
|
|
6
|
+
*
|
|
7
|
+
* Every benchkit OTLP producer and consumer should import from this module
|
|
8
|
+
* rather than hard-coding attribute strings.
|
|
9
|
+
*/
|
|
10
|
+
/** Unique run artifact identifier, e.g. `"12345678-1"`. Required. */
|
|
11
|
+
export declare const ATTR_RUN_ID = "benchkit.run_id";
|
|
12
|
+
/** Benchmark kind: code, workflow, or hybrid. Required. */
|
|
13
|
+
export declare const ATTR_KIND = "benchkit.kind";
|
|
14
|
+
/** Parser / origin format that produced the OTLP data. Required. */
|
|
15
|
+
export declare const ATTR_SOURCE_FORMAT = "benchkit.source_format";
|
|
16
|
+
/** Git ref (branch or tag). Strongly recommended. */
|
|
17
|
+
export declare const ATTR_REF = "benchkit.ref";
|
|
18
|
+
/** Full commit SHA. Strongly recommended. */
|
|
19
|
+
export declare const ATTR_COMMIT = "benchkit.commit";
|
|
20
|
+
/** GitHub Actions workflow name. Strongly recommended. */
|
|
21
|
+
export declare const ATTR_WORKFLOW = "benchkit.workflow";
|
|
22
|
+
/** GitHub Actions job name. Strongly recommended. */
|
|
23
|
+
export declare const ATTR_JOB = "benchkit.job";
|
|
24
|
+
/** Retry/rerun attempt number. Optional. */
|
|
25
|
+
export declare const ATTR_RUN_ATTEMPT = "benchkit.run_attempt";
|
|
26
|
+
/** Human-readable runner description. Optional. */
|
|
27
|
+
export declare const ATTR_RUNNER = "benchkit.runner";
|
|
28
|
+
/** OpenTelemetry standard service name. Strongly recommended. */
|
|
29
|
+
export declare const ATTR_SERVICE_NAME = "service.name";
|
|
30
|
+
/** Application or service version. Optional. */
|
|
31
|
+
export declare const ATTR_SERVICE_VERSION = "service.version";
|
|
32
|
+
/** All resource attributes that MUST be present. */
|
|
33
|
+
export declare const REQUIRED_RESOURCE_ATTRIBUTES: readonly ["benchkit.run_id", "benchkit.kind", "benchkit.source_format"];
|
|
34
|
+
/** Primary benchmark scenario / workload name. Required. */
|
|
35
|
+
export declare const ATTR_SCENARIO = "benchkit.scenario";
|
|
36
|
+
/** Series identity within a scenario. Required. */
|
|
37
|
+
export declare const ATTR_SERIES = "benchkit.series";
|
|
38
|
+
/** Metric improvement direction. Required for comparison-eligible metrics. */
|
|
39
|
+
export declare const ATTR_METRIC_DIRECTION = "benchkit.metric.direction";
|
|
40
|
+
/** Metric role: outcome or diagnostic. Recommended. */
|
|
41
|
+
export declare const ATTR_METRIC_ROLE = "benchkit.metric.role";
|
|
42
|
+
/** Implementation / product label. Recommended. */
|
|
43
|
+
export declare const ATTR_IMPL = "benchkit.impl";
|
|
44
|
+
/** Free-form grouping: dataset. Optional. */
|
|
45
|
+
export declare const ATTR_DATASET = "benchkit.dataset";
|
|
46
|
+
/** Free-form grouping: transport. Optional. */
|
|
47
|
+
export declare const ATTR_TRANSPORT = "benchkit.transport";
|
|
48
|
+
/** Free-form grouping: batch size. Optional. */
|
|
49
|
+
export declare const ATTR_BATCH_SIZE = "benchkit.batch_size";
|
|
50
|
+
/** Free-form grouping: process. Optional. */
|
|
51
|
+
export declare const ATTR_PROCESS = "benchkit.process";
|
|
52
|
+
/** Free-form grouping: pipeline. Optional. */
|
|
53
|
+
export declare const ATTR_PIPELINE = "benchkit.pipeline";
|
|
54
|
+
/** Free-form grouping: variant. Optional. */
|
|
55
|
+
export declare const ATTR_VARIANT = "benchkit.variant";
|
|
56
|
+
/**
|
|
57
|
+
* Datapoint attributes consumed internally by the projection logic.
|
|
58
|
+
* These are not forwarded as user-visible benchmark tags.
|
|
59
|
+
*/
|
|
60
|
+
export declare const RESERVED_DATAPOINT_ATTRIBUTES: Set<string>;
|
|
61
|
+
/** Valid values for `benchkit.kind`. */
|
|
62
|
+
export declare const VALID_RUN_KINDS: readonly ["code", "workflow", "hybrid"];
|
|
63
|
+
export type RunKind = (typeof VALID_RUN_KINDS)[number];
|
|
64
|
+
/** Valid values for `benchkit.metric.direction`. */
|
|
65
|
+
export declare const VALID_DIRECTIONS: readonly ["bigger_is_better", "smaller_is_better"];
|
|
66
|
+
export type Direction = (typeof VALID_DIRECTIONS)[number];
|
|
67
|
+
/** Valid values for `benchkit.metric.role`. */
|
|
68
|
+
export declare const VALID_METRIC_ROLES: readonly ["outcome", "diagnostic"];
|
|
69
|
+
export type MetricRole = (typeof VALID_METRIC_ROLES)[number];
|
|
70
|
+
/** Valid values for `benchkit.source_format`. */
|
|
71
|
+
export declare const VALID_SOURCE_FORMATS: readonly ["go", "native", "otlp", "rust", "hyperfine", "pytest-benchmark", "benchmark-action"];
|
|
72
|
+
export type SourceFormat = (typeof VALID_SOURCE_FORMATS)[number];
|
|
73
|
+
/** Default Git branch name used for storing benchmark data. */
|
|
74
|
+
export declare const DEFAULT_DATA_BRANCH = "bench-data";
|
|
75
|
+
/**
|
|
76
|
+
* Prefix reserved for infrastructure / diagnostic metrics emitted by the
|
|
77
|
+
* benchkit monitor action (e.g. `_monitor.cpu_user_pct`).
|
|
78
|
+
*/
|
|
79
|
+
export declare const MONITOR_METRIC_PREFIX = "_monitor.";
|
|
80
|
+
//# sourceMappingURL=otlp-conventions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otlp-conventions.d.ts","sourceRoot":"","sources":["../src/otlp-conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,qEAAqE;AACrE,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,2DAA2D;AAC3D,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAE3D,qDAAqD;AACrD,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AAEvC,6CAA6C;AAC7C,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,0DAA0D;AAC1D,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,qDAAqD;AACrD,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AAEvC,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD,mDAAmD;AACnD,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD,oDAAoD;AACpD,eAAO,MAAM,4BAA4B,yEAI/B,CAAC;AAMX,4DAA4D;AAC5D,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,mDAAmD;AACnD,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD,mDAAmD;AACnD,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,6CAA6C;AAC7C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,+CAA+C;AAC/C,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,gDAAgD;AAChD,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAErD,6CAA6C;AAC7C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,8CAA8C;AAC9C,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,6CAA6C;AAC7C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,aAKxC,CAAC;AAMH,wCAAwC;AACxC,eAAO,MAAM,eAAe,yCAA0C,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,oDAAoD;AACpD,eAAO,MAAM,gBAAgB,oDAGnB,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,oCAAqC,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,gGAQvB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMjE,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAMhD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Benchkit OTLP Semantic Conventions
|
|
4
|
+
*
|
|
5
|
+
* Canonical attribute names and valid values for the benchkit OTLP contract.
|
|
6
|
+
* Source of truth: docs/otlp-semantic-conventions.md
|
|
7
|
+
*
|
|
8
|
+
* Every benchkit OTLP producer and consumer should import from this module
|
|
9
|
+
* rather than hard-coding attribute strings.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MONITOR_METRIC_PREFIX = exports.DEFAULT_DATA_BRANCH = exports.VALID_SOURCE_FORMATS = exports.VALID_METRIC_ROLES = exports.VALID_DIRECTIONS = exports.VALID_RUN_KINDS = exports.RESERVED_DATAPOINT_ATTRIBUTES = exports.ATTR_VARIANT = exports.ATTR_PIPELINE = exports.ATTR_PROCESS = exports.ATTR_BATCH_SIZE = exports.ATTR_TRANSPORT = exports.ATTR_DATASET = exports.ATTR_IMPL = exports.ATTR_METRIC_ROLE = exports.ATTR_METRIC_DIRECTION = exports.ATTR_SERIES = exports.ATTR_SCENARIO = exports.REQUIRED_RESOURCE_ATTRIBUTES = exports.ATTR_SERVICE_VERSION = exports.ATTR_SERVICE_NAME = exports.ATTR_RUNNER = exports.ATTR_RUN_ATTEMPT = exports.ATTR_JOB = exports.ATTR_WORKFLOW = exports.ATTR_COMMIT = exports.ATTR_REF = exports.ATTR_SOURCE_FORMAT = exports.ATTR_KIND = exports.ATTR_RUN_ID = void 0;
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Resource attributes (run-level metadata on every ResourceMetrics)
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/** Unique run artifact identifier, e.g. `"12345678-1"`. Required. */
|
|
17
|
+
exports.ATTR_RUN_ID = "benchkit.run_id";
|
|
18
|
+
/** Benchmark kind: code, workflow, or hybrid. Required. */
|
|
19
|
+
exports.ATTR_KIND = "benchkit.kind";
|
|
20
|
+
/** Parser / origin format that produced the OTLP data. Required. */
|
|
21
|
+
exports.ATTR_SOURCE_FORMAT = "benchkit.source_format";
|
|
22
|
+
/** Git ref (branch or tag). Strongly recommended. */
|
|
23
|
+
exports.ATTR_REF = "benchkit.ref";
|
|
24
|
+
/** Full commit SHA. Strongly recommended. */
|
|
25
|
+
exports.ATTR_COMMIT = "benchkit.commit";
|
|
26
|
+
/** GitHub Actions workflow name. Strongly recommended. */
|
|
27
|
+
exports.ATTR_WORKFLOW = "benchkit.workflow";
|
|
28
|
+
/** GitHub Actions job name. Strongly recommended. */
|
|
29
|
+
exports.ATTR_JOB = "benchkit.job";
|
|
30
|
+
/** Retry/rerun attempt number. Optional. */
|
|
31
|
+
exports.ATTR_RUN_ATTEMPT = "benchkit.run_attempt";
|
|
32
|
+
/** Human-readable runner description. Optional. */
|
|
33
|
+
exports.ATTR_RUNNER = "benchkit.runner";
|
|
34
|
+
/** OpenTelemetry standard service name. Strongly recommended. */
|
|
35
|
+
exports.ATTR_SERVICE_NAME = "service.name";
|
|
36
|
+
/** Application or service version. Optional. */
|
|
37
|
+
exports.ATTR_SERVICE_VERSION = "service.version";
|
|
38
|
+
/** All resource attributes that MUST be present. */
|
|
39
|
+
exports.REQUIRED_RESOURCE_ATTRIBUTES = [
|
|
40
|
+
exports.ATTR_RUN_ID,
|
|
41
|
+
exports.ATTR_KIND,
|
|
42
|
+
exports.ATTR_SOURCE_FORMAT,
|
|
43
|
+
];
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
// Datapoint attributes (metric identity on every data-point)
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
/** Primary benchmark scenario / workload name. Required. */
|
|
48
|
+
exports.ATTR_SCENARIO = "benchkit.scenario";
|
|
49
|
+
/** Series identity within a scenario. Required. */
|
|
50
|
+
exports.ATTR_SERIES = "benchkit.series";
|
|
51
|
+
/** Metric improvement direction. Required for comparison-eligible metrics. */
|
|
52
|
+
exports.ATTR_METRIC_DIRECTION = "benchkit.metric.direction";
|
|
53
|
+
/** Metric role: outcome or diagnostic. Recommended. */
|
|
54
|
+
exports.ATTR_METRIC_ROLE = "benchkit.metric.role";
|
|
55
|
+
/** Implementation / product label. Recommended. */
|
|
56
|
+
exports.ATTR_IMPL = "benchkit.impl";
|
|
57
|
+
/** Free-form grouping: dataset. Optional. */
|
|
58
|
+
exports.ATTR_DATASET = "benchkit.dataset";
|
|
59
|
+
/** Free-form grouping: transport. Optional. */
|
|
60
|
+
exports.ATTR_TRANSPORT = "benchkit.transport";
|
|
61
|
+
/** Free-form grouping: batch size. Optional. */
|
|
62
|
+
exports.ATTR_BATCH_SIZE = "benchkit.batch_size";
|
|
63
|
+
/** Free-form grouping: process. Optional. */
|
|
64
|
+
exports.ATTR_PROCESS = "benchkit.process";
|
|
65
|
+
/** Free-form grouping: pipeline. Optional. */
|
|
66
|
+
exports.ATTR_PIPELINE = "benchkit.pipeline";
|
|
67
|
+
/** Free-form grouping: variant. Optional. */
|
|
68
|
+
exports.ATTR_VARIANT = "benchkit.variant";
|
|
69
|
+
/**
|
|
70
|
+
* Datapoint attributes consumed internally by the projection logic.
|
|
71
|
+
* These are not forwarded as user-visible benchmark tags.
|
|
72
|
+
*/
|
|
73
|
+
exports.RESERVED_DATAPOINT_ATTRIBUTES = new Set([
|
|
74
|
+
exports.ATTR_SCENARIO,
|
|
75
|
+
exports.ATTR_SERIES,
|
|
76
|
+
exports.ATTR_METRIC_DIRECTION,
|
|
77
|
+
exports.ATTR_METRIC_ROLE,
|
|
78
|
+
]);
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Valid enum values
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
/** Valid values for `benchkit.kind`. */
|
|
83
|
+
exports.VALID_RUN_KINDS = ["code", "workflow", "hybrid"];
|
|
84
|
+
/** Valid values for `benchkit.metric.direction`. */
|
|
85
|
+
exports.VALID_DIRECTIONS = [
|
|
86
|
+
"bigger_is_better",
|
|
87
|
+
"smaller_is_better",
|
|
88
|
+
];
|
|
89
|
+
/** Valid values for `benchkit.metric.role`. */
|
|
90
|
+
exports.VALID_METRIC_ROLES = ["outcome", "diagnostic"];
|
|
91
|
+
/** Valid values for `benchkit.source_format`. */
|
|
92
|
+
exports.VALID_SOURCE_FORMATS = [
|
|
93
|
+
"go",
|
|
94
|
+
"native",
|
|
95
|
+
"otlp",
|
|
96
|
+
"rust",
|
|
97
|
+
"hyperfine",
|
|
98
|
+
"pytest-benchmark",
|
|
99
|
+
"benchmark-action",
|
|
100
|
+
];
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// Defaults
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
/** Default Git branch name used for storing benchmark data. */
|
|
105
|
+
exports.DEFAULT_DATA_BRANCH = "bench-data";
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// Metric naming conventions
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
/**
|
|
110
|
+
* Prefix reserved for infrastructure / diagnostic metrics emitted by the
|
|
111
|
+
* benchkit monitor action (e.g. `_monitor.cpu_user_pct`).
|
|
112
|
+
*/
|
|
113
|
+
exports.MONITOR_METRIC_PREFIX = "_monitor.";
|
|
114
|
+
//# sourceMappingURL=otlp-conventions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otlp-conventions.js","sourceRoot":"","sources":["../src/otlp-conventions.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E,qEAAqE;AACxD,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAE7C,2DAA2D;AAC9C,QAAA,SAAS,GAAG,eAAe,CAAC;AAEzC,oEAAoE;AACvD,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAE3D,qDAAqD;AACxC,QAAA,QAAQ,GAAG,cAAc,CAAC;AAEvC,6CAA6C;AAChC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAE7C,0DAA0D;AAC7C,QAAA,aAAa,GAAG,mBAAmB,CAAC;AAEjD,qDAAqD;AACxC,QAAA,QAAQ,GAAG,cAAc,CAAC;AAEvC,4CAA4C;AAC/B,QAAA,gBAAgB,GAAG,sBAAsB,CAAC;AAEvD,mDAAmD;AACtC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAE7C,iEAAiE;AACpD,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAEhD,gDAAgD;AACnC,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,oDAAoD;AACvC,QAAA,4BAA4B,GAAG;IAC1C,mBAAW;IACX,iBAAS;IACT,0BAAkB;CACV,CAAC;AAEX,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,4DAA4D;AAC/C,QAAA,aAAa,GAAG,mBAAmB,CAAC;AAEjD,mDAAmD;AACtC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAE7C,8EAA8E;AACjE,QAAA,qBAAqB,GAAG,2BAA2B,CAAC;AAEjE,uDAAuD;AAC1C,QAAA,gBAAgB,GAAG,sBAAsB,CAAC;AAEvD,mDAAmD;AACtC,QAAA,SAAS,GAAG,eAAe,CAAC;AAEzC,6CAA6C;AAChC,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAE/C,+CAA+C;AAClC,QAAA,cAAc,GAAG,oBAAoB,CAAC;AAEnD,gDAAgD;AACnC,QAAA,eAAe,GAAG,qBAAqB,CAAC;AAErD,6CAA6C;AAChC,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAE/C,8CAA8C;AACjC,QAAA,aAAa,GAAG,mBAAmB,CAAC;AAEjD,6CAA6C;AAChC,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAE/C;;;GAGG;AACU,QAAA,6BAA6B,GAAG,IAAI,GAAG,CAAC;IACnD,qBAAa;IACb,mBAAW;IACX,6BAAqB;IACrB,wBAAgB;CACjB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,wCAAwC;AAC3B,QAAA,eAAe,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAGvE,oDAAoD;AACvC,QAAA,gBAAgB,GAAG;IAC9B,kBAAkB;IAClB,mBAAmB;CACX,CAAC;AAGX,+CAA+C;AAClC,QAAA,kBAAkB,GAAG,CAAC,SAAS,EAAE,YAAY,CAAU,CAAC;AAGrE,iDAAiD;AACpC,QAAA,oBAAoB,GAAG;IAClC,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,WAAW;IACX,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAGX,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,+DAA+D;AAClD,QAAA,mBAAmB,GAAG,YAAY,CAAC;AAEhD,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;GAGG;AACU,QAAA,qBAAqB,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otlp-conventions.test.d.ts","sourceRoot":"","sources":["../src/otlp-conventions.test.ts"],"names":[],"mappings":""}
|