Description
Status class alone hides 403 vs 404 vs 502, origin errors are invisible behind edge status, and there is no country breakdown for geomaps. These are bounded dimensions and are on by default per the cardinality policy.
Acceptance Criteria
- #1 Exact edge status, origin status, client country, HTTP protocol, TLS protocol, method and content type are metric attributes when the zone advertises the field, each individually disableable
- #2 Field selection stays within maxNumberOfFields per zone; a zone lacking a field still emits the other dimensions
- #3 Series caps still bound the metric and an overflow is reported
- #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 6b4b7becdbec7a317f83d3ccd4bd532dca781e77 passed fresh exact-SHA review, local real HTTP alias batching/registered collector tests and full gate. Optional batch API preserves existing Client/Query; seven dimensions individually switchable, missing TLS preserves others, country uppercase, zone-level no-host series and overflow reporting. I1 lint failure repaired under I2 by an equivalent De Morgan test expression, no production or assertion weakening relative to complete CodeRabbit coverage. Dashboard and live proof pending.
LIVEP30 terminal proof confirms new HTTP breakdown metric families. Successful native DASH2 readback confirms panels 2051-2058 for exact/origin status, protocol/TLS, method, content type and country selectors, using the declared new signal/attribute names. Existing real HTTP registration/budget/cap tests and independent exact-SHA review prove individually switchable advertised fields and overflow behavior. Conditional packaging DoD2 is not applicable; no image packaging definition changed.
Final Summary
Added seven independently switchable, entitled low-cardinality HTTP breakdowns with field budgets and deterministic caps. Verified registered HTTP behavior, generated/synced panels and deployed metric families.