Skip to content

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

Merged
Dylan-M merged 1 commit into
mainfrom
dylanmyers/pipe-1066-lifecycle-metrics
Sep 10, 2026
Merged

feat(o11y): lifecycle startup-latency metrics via new runtime weaver registry (PIPE-1066)#291
Dylan-M merged 1 commit into
mainfrom
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

@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from 2388758 to be2b515 Compare August 11, 2026 19:32
@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
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-stdout-nop-spine branch from f92de7b to f1ae805 Compare August 26, 2026 15:43
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from c52f955 to e49f88b Compare August 26, 2026 15:43
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-stdout-nop-spine branch from f1ae805 to b0b8845 Compare September 4, 2026 13:06
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from e49f88b to 7594cdb Compare September 4, 2026 13:06
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from 7594cdb to a67296a Compare September 4, 2026 21:00
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-stdout-nop-spine branch from b0b8845 to ddcf75e Compare September 4, 2026 21:00
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from a67296a to ba081e7 Compare September 4, 2026 22:54
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-stdout-nop-spine branch from ddcf75e to 744af77 Compare September 4, 2026 22:54
@graphite-app
graphite-app Bot changed the base branch from dylanmyers/pipe-1066-stdout-nop-spine to graphite-base/291 September 10, 2026 13:10
…registry (PIPE-1066)

Assisted-by: Claude Opus 4.8
@Dylan-M
Dylan-M force-pushed the dylanmyers/pipe-1066-lifecycle-metrics branch from ba081e7 to 76fb098 Compare September 10, 2026 13:47
@graphite-app
graphite-app Bot changed the base branch from graphite-base/291 to main September 10, 2026 13:48
@graphite-app

graphite-app Bot commented Sep 10, 2026

Copy link
Copy Markdown

Merge activity

  • Sep 10, 1:48 PM UTC: Graphite rebased this pull request, because this pull request is set to merge when ready.

@Dylan-M
Dylan-M added this pull request to the merge queue Sep 10, 2026
Merged via the queue into main with commit 8aa1db1 Sep 10, 2026
18 of 30 checks passed
@Dylan-M
Dylan-M deleted the dylanmyers/pipe-1066-lifecycle-metrics branch September 10, 2026 13:54
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.

2 participants