Skip to content

feat(o11y): lifecycle startup-latency metrics via new runtime weaver registry (PIPE-1066) - #291

Open
Dylan-M wants to merge 1 commit into
dylanmyers/pipe-1066-stdout-nop-spinefrom
dylanmyers/pipe-1066-lifecycle-metrics
Open

feat(o11y): lifecycle startup-latency metrics via new runtime weaver registry (PIPE-1066)#291
Dylan-M wants to merge 1 commit into
dylanmyers/pipe-1066-stdout-nop-spinefrom
dylanmyers/pipe-1066-lifecycle-metrics

Conversation

@Dylan-M

@Dylan-M Dylan-M commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Proposed Change

Adds startup-latency metrics through a new internal/runtime/monitoring weaver registry:
blitz.module.startup.duration (per module), blitz.session.startup.duration, and the
process-level blitz.startup.duration. runtime.New now takes a MeterProvider and
returns an error; both call sites (the embed runner and service.New) are updated.
runtime.Start records the per-module and session latencies. The main entry point
records the process-level latency best-effort, so a metric-build failure never fails
startup.

How to validate

  • Run blitz (startup latency is recorded once at startup, so any config works):
    go run ./cmd/blitz --generator-type apache-common --generator-apache-common-rate 1s --output-type stdout --metrics-port 9100
  • Confirm the three startup series appear:
    curl -s localhost:9100/metrics | grep -E 'blitz_module_startup_duration|blitz_session_startup_duration|blitz_startup_duration'.
  • go test ./internal/runtime/... covers the recording and the NewMetrics error path.
  • make generate-o11y-check regenerates the weaver metric code and fails on any drift from
    the committed files (needs Docker, matching CI).
Checklist
  • Changes are tested
  • CI has passed

…registry (PIPE-1066)

Assisted-by: Claude Opus 4.8
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-stdout-nop-spine branch from 40fce24 to f92de7b Compare August 14, 2026 19:22
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from be2b515 to c52f955 Compare August 14, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant