Description
Workers CPU time and duration percentiles and the per-script error rate are the core Workers SLO signals, and cf2otel has none of them. workersInvocationsAdaptive exposes status, sums and quantiles. CFO-0023 skipped this dataset only as raw events (native Workers OTLP already sends invocation logs and traces); aggregate metrics from it are not covered by that export.
Acceptance Criteria
- #1 Per-script request and error counters with the invocation status dimension, subrequests, and CPU time, duration and wall time p50/p75/p99/p999 gauges are exported
- #2 No raw invocation events are emitted, preserving the CFO-0023 decision
- #3 A new dataset or endpoint has a live-verified entry in doc-0003 and an API drift canary probe
- #4 Every new signal and attribute is declared in internal/semconv, listed in docs/signals.md, and has a panel in grafana/build_dashboard.py
Definition of Done
- #1 just check (fmt-check, lint, vet, test, tidy-check, build, vuln)
- #2 just ci before a change that touches the Dockerfile, goreleaser or the image (adds snapshot + image)
- #3 Every new signal or attribute name declared in internal/semconv and listed in docs/signals.md
Implementation Notes
Loop14 candidate 83966563875d78bde91ea012e20497c0783b9c7b passed independent exact-SHA review, real local HTTP and registered aggregate tests and full gate. Status request counters, script-only errors/subrequests and latest complete-bucket CPU/wall/request-duration quantiles; no raw invocation events or GB*s. A4 explicitly disabled the newly default-enabled collector only in the existing overview-only registration fixture, with a separate default-enabled registration witness. doc-0003 and drift canary 36825611418 verified. Dashboard/live pending; superseded cancelled CI moved to the containing newest SHA.
LIVEP30 terminal backend proof on healthy v0.10.0 includes invocation, error, subrequest, CPU, wall and request-duration families. Native Grafana dashboard readback confirms panels 2630-2635 with the exact new metric selectors; generated dashboard gate and fresh exact-SHA DASH2 review passed before publication. Declared names/docs and existing collector regression evidence are retained above. DoD2 is conditional and not applicable to this collector-only task: no image packaging definition changed.
Final Summary
Added aggregate Workers invocation metrics without raw events, preserved the native OTLP decision, and verified the required live metric families and shipped dashboard panels. Exact-candidate implementation and dashboard reviews, gates, live API contract entry and drift canary passed.