@vzn/vx-otel 0.0.636 → 0.0.638
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 +5 -5
- package/package.json +2 -2
- package/src/index.ts +1 -1
- package/src/otlp.ts +1 -1
- package/src/plugin.ts +2 -2
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ npm install -D @vzn/vx @vzn/vx-otel # or: pnpm add -D -w · yarn add -D (-W on
|
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
```ts
|
|
19
|
-
// vx
|
|
19
|
+
// .vx/workspace.ts
|
|
20
20
|
import { defineWorkspace } from '@vzn/vx/config'
|
|
21
21
|
import { otel } from '@vzn/vx-otel'
|
|
22
22
|
|
|
@@ -131,7 +131,7 @@ otel({
|
|
|
131
131
|
says how many more);
|
|
132
132
|
- a child span per stage of the run, named by the stage (`startup`,
|
|
133
133
|
`load configs`, `git enumeration`, `classify + probe`, `run graph`,
|
|
134
|
-
`record history`, …, the stages `
|
|
134
|
+
`record history`, …, the stages `VX_DEBUG_TIMING` prints), with
|
|
135
135
|
`vx.stage.name`: where the time before the first task and after the
|
|
136
136
|
last went. The stages ahead of the run lock end before the `vx.run`
|
|
137
137
|
span starts.
|
|
@@ -192,14 +192,14 @@ same CPU live as with one send at the end (median of 10: 815 ms both).
|
|
|
192
192
|
No send ever holds a task: a task's end only queues its records. A collector
|
|
193
193
|
that never answers holds nothing either: at the end of the run every send
|
|
194
194
|
still in flight is cut at core's teardown deadline (3 s,
|
|
195
|
-
`
|
|
195
|
+
`VX_RUN_TEARDOWN_TIMEOUT`), and the process exits.
|
|
196
196
|
|
|
197
197
|
## Behavior note
|
|
198
198
|
|
|
199
199
|
This replaces core's previous hardcoded OTel emit, which fired automatically
|
|
200
200
|
whenever `OTEL_EXPORTER_OTLP_ENDPOINT` was set. OTel is now a **plugin**: the
|
|
201
201
|
env var alone no longer auto-exports — you must declare `otel()` in
|
|
202
|
-
|
|
202
|
+
`.vx/workspace.ts`. Telemetry is observe-only and can never change, slow, or
|
|
203
203
|
fail a run (every export is buffered, time-bounded, and swallows errors).
|
|
204
204
|
|
|
205
205
|
A collector shedding load (`429`, `502`, `503`, `504`, or a dropped
|
|
@@ -219,5 +219,5 @@ userinfo and query string replaced by `***`, so an endpoint that carries
|
|
|
219
219
|
its credential in the URL does not leak it into a CI log. The run stays
|
|
220
220
|
green either way; a collector that
|
|
221
221
|
takes too long is cut off by core's end-of-run deadline
|
|
222
|
-
(`
|
|
222
|
+
(`VX_RUN_TEARDOWN_TIMEOUT`, 3 s by default) with a line saying the buffered
|
|
223
223
|
records were lost.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vzn/vx-otel",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.638",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "OpenTelemetry exporter for vx — a telemetry plugin mapping runs to OTLP traces + metrics (CI/CD + VCS semantic conventions).",
|
|
6
6
|
"keywords": [
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@vzn/vx": "^0.0.
|
|
37
|
+
"@vzn/vx": "^0.0.638"
|
|
38
38
|
},
|
|
39
39
|
"repository": {
|
|
40
40
|
"type": "git",
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Public API for @vzn/vx-otel — the OpenTelemetry exporter plugin for vx.
|
|
2
2
|
//
|
|
3
|
-
// Usage in vx
|
|
3
|
+
// Usage in .vx/workspace.ts:
|
|
4
4
|
// import { defineWorkspace } from '@vzn/vx'
|
|
5
5
|
// import { otel } from '@vzn/vx-otel'
|
|
6
6
|
// export default defineWorkspace({ plugins: [otel()] })
|
package/src/otlp.ts
CHANGED
|
@@ -249,7 +249,7 @@ export function taskSpanEvents(t: TaskTelemetry, endUnixNano: string): OtlpSpanE
|
|
|
249
249
|
const MAX_VIOLATION_EVENTS = 100
|
|
250
250
|
|
|
251
251
|
/**
|
|
252
|
-
* A child span of the run for one of its stages (`
|
|
252
|
+
* A child span of the run for one of its stages (`VX_DEBUG_TIMING`'s marks):
|
|
253
253
|
* where the time before the first task and after the last one went. Named
|
|
254
254
|
* by the stage, a fixed set. The stages ahead of the run lock end before
|
|
255
255
|
* the run span starts.
|
package/src/plugin.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
//
|
|
6
6
|
// This replaces core's old hardcoded `attachOtelEmit` (logs-only, fired
|
|
7
7
|
// unconditionally when OTEL_EXPORTER_OTLP_ENDPOINT was set). OTel is now a
|
|
8
|
-
// plugin — declare it in vx
|
|
8
|
+
// plugin — declare it in .vx/workspace.ts. The trade: the env var ALONE no
|
|
9
9
|
// longer auto-exports; you must `defineWorkspace({ plugins: [otel()] })`.
|
|
10
10
|
|
|
11
11
|
import {
|
|
@@ -392,7 +392,7 @@ const OTEL_PLUGIN_KEYS: PluginOptionKinds<OtelPluginOptions> = {
|
|
|
392
392
|
}
|
|
393
393
|
|
|
394
394
|
/**
|
|
395
|
-
* The OpenTelemetry exporter plugin. Declared in vx
|
|
395
|
+
* The OpenTelemetry exporter plugin. Declared in .vx/workspace.ts via
|
|
396
396
|
* `defineWorkspace({ plugins: [otel()] })`. Contributes a telemetry sink that
|
|
397
397
|
* maps each run to OTLP traces (a `vx.run` root span + `vx.task` children),
|
|
398
398
|
* metrics, and one log record per executed task, over OTLP/HTTP JSON.
|