fix(diagnostics): harden observability exports and smokes (#85371)

* test(diagnostics): widen observability smokes

* fix(diagnostics): sanitize observability exports

* docs(diagnostics): format otel export docs
This commit is contained in:
Vincent Koc
2026-05-23 15:27:43 +08:00
committed by GitHub
parent 0b2ab6c93c
commit 7f05be041e
21 changed files with 680 additions and 58 deletions

View File

@@ -9,24 +9,28 @@ coverage:
- telemetry.otel
secondary:
- harness.qa-lab
objective: Verify a QA-lab gateway run emits bounded OpenTelemetry trace spans through the diagnostics-otel plugin.
objective: Verify a QA-lab gateway run emits bounded OpenTelemetry traces, metrics, and logs through the diagnostics-otel plugin.
successCriteria:
- The diagnostics-otel plugin starts with trace export enabled.
- The diagnostics-otel plugin starts with trace, metric, and log export enabled.
- A minimal QA-channel agent turn completes.
- The trace includes the selected agent harness lifecycle span.
- The run emits low-cardinality OpenTelemetry trace spans without content or raw diagnostic identifiers.
- The run emits low-cardinality OpenTelemetry signals without content or raw diagnostic identifiers.
plugins:
- diagnostics-otel
gatewayConfigPatch:
logging:
file: .artifacts/qa-e2e/otel-smoke-gateway.jsonl
level: info
diagnostics:
enabled: true
otel:
enabled: true
protocol: http/protobuf
traces: true
metrics: false
logs: false
metrics: true
logs: true
sampleRate: 1
flushIntervalMs: 1000
captureContent:
enabled: false
docsRefs:
@@ -38,9 +42,10 @@ codeRefs:
- extensions/qa-lab/src/suite.ts
execution:
kind: flow
summary: Emit a minimal QA-lab trace with diagnostics-otel enabled.
summary: Emit minimal QA-lab telemetry with diagnostics-otel enabled.
config:
prompt: Reply exactly OTEL-QA-OK.
prompt: "OTEL QA marker: reply exactly `OTEL-QA-OK`. Do not repeat OTEL-QA-SECRET."
expectedReply: OTEL-QA-OK
```
```yaml qa-flow
@@ -77,4 +82,7 @@ steps:
- assert:
expr: "String(outbound.text ?? '').trim().length > 0"
message: "expected non-empty qa output"
- assert:
expr: "String(outbound.text ?? '').includes(config.expectedReply)"
message: "expected qa output to include the response sentinel"
```