feat(core-nodes): emit df_engine.component.shutdown event from OTLP exporters#3349
feat(core-nodes): emit df_engine.component.shutdown event from OTLP exporters#3349cijothomas wants to merge 2 commits into
Conversation
…xporters Adds structured shutdown event with otel.component.type, otel.component.shutdown.result, and otel.component.shutdown.duration. Modeled after the OTel SDK otel.sdk.component.shutdown convention (open-telemetry/semantic-conventions#3723). - In-tree semconv event definition with attributes - Trigger script (99_ prefix ensures it runs last) - Emitted from both otlp_grpc_exporter and otlp_http_exporter
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3349 +/- ##
==========================================
- Coverage 86.20% 86.19% -0.01%
==========================================
Files 739 739
Lines 290493 290493
==========================================
- Hits 250420 250393 -27
- Misses 39549 39576 +27
Partials 524 524
🚀 New features to boost your workflow:
|
|
Thank you for your contribution! This PR has been automatically marked as stale because it has not had activity in the last 14 days. This may be due to a delay in review on our side or awaiting a response from you; either is fine, and we appreciate your patience. |
|
This PR has been closed due to inactivity. Thank you again for the contribution; please feel free to reopen this PR (or open a new one) if you'd like to continue the work. |
Adds a structured shutdown event to the OTLP gRPC and HTTP exporters, modeled after the OTel SDK
otel.sdk.component.shutdownconvention (open-telemetry/semantic-conventions#3723).Changes
semconv/groups/event.component.shutdown.yaml) with full attribute declarations (otel.component.type,otel.component.shutdown.result,otel.component.shutdown.duration).otel_info!("otlp.exporter.grpc.shutdown")with timed structured event.99_df_engine.component.shutdown.sh) — POSTs to admin/api/v1/groups/shutdown?wait=trueso the event fires in CI before the hard-kill. Prefixed99_to ensure it runs last in the trigger glob.Notes
resultis alwayssuccesstoday (the drain loop runs to completion). A follow-up can check the deadline to detecttimed_out.durationis measured from message receipt, not from shutdown initiation (TODO in code — requires threadinginitiated_atthroughNodeControlMsg).df_engineprefix is provisional (product name unsettled; TODO in YAML).Related