From a8dd3d4c7a0d7649c144b5dcf180bd691269aa8c Mon Sep 17 00:00:00 2001 From: cijothomas Date: Mon, 9 Feb 2026 16:44:45 -0800 Subject: [PATCH 1/3] Tweak EventName guidance --- rust/otap-dataflow/docs/telemetry/events-guide.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/rust/otap-dataflow/docs/telemetry/events-guide.md b/rust/otap-dataflow/docs/telemetry/events-guide.md index db74fa8df6..c73aa1f419 100644 --- a/rust/otap-dataflow/docs/telemetry/events-guide.md +++ b/rust/otap-dataflow/docs/telemetry/events-guide.md @@ -132,6 +132,9 @@ guide for naming: attributes. - Avoid synonyms that fragment cardinality across names (`finish` vs `complete`, `error` vs `fail`). Pick one verb set and stick to it. +- Use **distinct event names** for different outcomes of the same operation + (e.g. `otlp.exporter.start.complete` and `otlp.exporter.start.fail`). Do not rely + solely on severity to distinguish success from failure. More precisely, in this project, event names SHOULD follow this pattern: `otelcol.[.].` @@ -172,11 +175,10 @@ Optionally, add occurrence-specific attributes (dynamic context): When events are exported as logs, set an appropriate severity. -Regarding severity, some events may be logged at different levels depending on -their severity or impact. For example, a `node.shutdown` event may be logged at -INFO level during a graceful shutdown, but at ERROR level if the shutdown is due -to a critical failure. When exporting events as logs, choose the log level that -best reflects the significance of the event. +Regarding severity, choose the log level that best reflects the significance of +the event. For example, `node.shutdown.complete` at INFO for a graceful +shutdown and `node.shutdown.fail` at ERROR for a critical failure — these are +distinct events, not the same event at different severity levels. ## Stages From afd6199374ab7a4d77873fa6bd693537b8d62912 Mon Sep 17 00:00:00 2001 From: cijothomas Date: Tue, 10 Feb 2026 09:38:10 -0800 Subject: [PATCH 2/3] sanity --- rust/otap-dataflow/crates/telemetry/src/internal_events.rs | 1 + rust/otap-dataflow/docs/telemetry/events-guide.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/rust/otap-dataflow/crates/telemetry/src/internal_events.rs b/rust/otap-dataflow/crates/telemetry/src/internal_events.rs index 2c94a6d214..7cf0fa9752 100644 --- a/rust/otap-dataflow/crates/telemetry/src/internal_events.rs +++ b/rust/otap-dataflow/crates/telemetry/src/internal_events.rs @@ -9,6 +9,7 @@ //! processors, exporters, and other pipeline components. #![allow(unused_macros)] +#![allow(clippy::disallowed_macros)] // This module implements the otel_*! macros by wrapping tracing. #[doc(hidden)] pub mod _private { diff --git a/rust/otap-dataflow/docs/telemetry/events-guide.md b/rust/otap-dataflow/docs/telemetry/events-guide.md index c73aa1f419..927d95a045 100644 --- a/rust/otap-dataflow/docs/telemetry/events-guide.md +++ b/rust/otap-dataflow/docs/telemetry/events-guide.md @@ -177,7 +177,7 @@ When events are exported as logs, set an appropriate severity. Regarding severity, choose the log level that best reflects the significance of the event. For example, `node.shutdown.complete` at INFO for a graceful -shutdown and `node.shutdown.fail` at ERROR for a critical failure — these are +shutdown and `node.shutdown.fail` at ERROR for a critical failure -- these are distinct events, not the same event at different severity levels. ## Stages From 170c6405b683b9c2d6c8d98ab6726dd01158bb80 Mon Sep 17 00:00:00 2001 From: cijothomas Date: Tue, 10 Feb 2026 09:40:31 -0800 Subject: [PATCH 3/3] revert --- rust/otap-dataflow/crates/telemetry/src/internal_events.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/rust/otap-dataflow/crates/telemetry/src/internal_events.rs b/rust/otap-dataflow/crates/telemetry/src/internal_events.rs index 7cf0fa9752..2c94a6d214 100644 --- a/rust/otap-dataflow/crates/telemetry/src/internal_events.rs +++ b/rust/otap-dataflow/crates/telemetry/src/internal_events.rs @@ -9,7 +9,6 @@ //! processors, exporters, and other pipeline components. #![allow(unused_macros)] -#![allow(clippy::disallowed_macros)] // This module implements the otel_*! macros by wrapping tracing. #[doc(hidden)] pub mod _private {