Description
Only an origin-duration average is exported, which hides tail latency and cannot drive latency SLOs. httpRequestsAdaptiveGroups exposes TTFB and origin duration quantiles.
Acceptance Criteria
- #1 Edge TTFB average and p50/p95/p99, and origin duration p50/p95/p99, are exported per host/zone as gauges in seconds
- #2 Quantile fields are only selected when advertised and within maxNumberOfFields
- #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 L46A exact candidate and review prove Free origin p50/p95/p99 and Pro edge TTFB avg/p50/p95/p99 in seconds with advertised fields/budgets. doc-0003 records entitlement split; drift canary 36825611418 passed new contract. Dashboard/live completion remains pending.
LIVEP30 terminal backend proof confirms edge TTFB and origin response-time families after deployment. Native DASH2 readback confirms panels 2059-2060 with exact seconds selectors. Original real Free/Pro HTTP fixtures prove entitled average/quantiles, milliseconds-to-seconds conversion and field budgets; schema reference and canary passed. Conditional packaging DoD2 is not applicable.
Final Summary
Added advertised edge TTFB and origin duration statistics in seconds, preserving entitlement differences. Verified local HTTP/unit conversion, live series and shipped panels.