prop/rust/prop_grid_rs
Graham McIntire 65a1b1edb3
feat(rust): OTLP trace export to cluster OTel Collector
New telemetry module wires tracing-subscriber to both a local JSON
fmt layer (keeps kubectl-logs output identical) and an
OpenTelemetry OTLP/gRPC exporter, activated only when
OTEL_EXPORTER_OTLP_ENDPOINT is set. The returned TelemetryGuard
holds the SdkTracerProvider until process shutdown so queued spans
flush before exit.

Both bin targets (worker, hrrr_point_worker) now call
telemetry::init(service_name) at startup; service_name becomes the
OTel service.name attribute so Tempo groups spans per binary.

Tracing instrumentation on the three main work units:
- pipeline::run_chain_step (forecast f01..f18)
- pipeline::run_analysis_step (analysis f00)
- hrrr_points::process_batch (per-QSO point drain)

k8s manifests set OTEL_EXPORTER_OTLP_ENDPOINT to the cluster
collector at otel-collector.observability.svc.cluster.local:4317.
Backend wiring lives in the vntx-infra repo.
2026-04-20 11:59:49 -05:00
..
src feat(rust): OTLP trace export to cluster OTel Collector 2026-04-20 11:59:49 -05:00
tests feat(grid-rs): Rust worker for HRRR f01..f18 propagation chain 2026-04-19 15:42:49 -05:00
.gitignore feat(grid-rs): Rust worker for HRRR f01..f18 propagation chain 2026-04-19 15:42:49 -05:00
Cargo.lock feat(rust): OTLP trace export to cluster OTel Collector 2026-04-20 11:59:49 -05:00
Cargo.toml feat(rust): OTLP trace export to cluster OTel Collector 2026-04-20 11:59:49 -05:00
Dockerfile fix(grid-rs): build wgrib2 in-tree instead of pulling from prop:latest 2026-04-20 08:33:53 -05:00