Skip to content

Commit b833118

Browse files
authored
Rename logs_level_enabled flag to spec_unstable_logs_enabled (#2291)
1 parent 0cc2cd5 commit b833118

File tree

21 files changed

+35
-29
lines changed

21 files changed

+35
-29
lines changed

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ It's important to regularly review and remove the `otel_unstable` flag from the
169169
The potential features include:
170170

171171
- Stable and non-experimental features that compliant to specification, and have a feature flag to minimize compilation size. Example: feature flags for signals (like `logs`, `traces`, `metrics`) and runtimes (`rt-tokio`, `rt-tokio-current-thread`, `rt-async-std`).
172-
- Stable and non-experimental features, although not part of the specification, are crucial for enhancing the tracing/log crate's functionality or boosting performance. These features are also subject to discussion and approval by the OpenTelemetry Rust Maintainers. An example of such a feature is `logs_level_enabled`.
172+
- Stable and non-experimental features, although not part of the specification, are crucial for enhancing the tracing/log crate's functionality or boosting performance. These features are also subject to discussion and approval by the OpenTelemetry Rust Maintainers.
173173

174174
All such features should adhere to naming convention `<signal>_<feature_name>`
175175

opentelemetry-appender-log/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- Bump MSRV to 1.70 [#2179](https://github.com/open-telemetry/opentelemetry-rust/pull/2179)
66
- [2193](https://github.com/open-telemetry/opentelemetry-rust/pull/2193) `opentelemetry-appender-log`: Output experimental code attributes
7+
- **Breaking** [2291](https://github.com/open-telemetry/opentelemetry-rust/pull/2291) Rename `logs_level_enabled flag` to `spec_unstable_logs_enabled`. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.
78

89
## v0.26.0
910
Released 2024-Sep-30

opentelemetry-appender-log/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ opentelemetry-semantic-conventions = { path = "../opentelemetry-semantic-convent
2121
] }
2222

2323
[features]
24-
logs_level_enabled = ["opentelemetry/logs_level_enabled"]
24+
spec_unstable_logs_enabled = ["opentelemetry/spec_unstable_logs_enabled"]
2525
with-serde = ["log/kv_serde", "serde"]
2626
experimental_metadata_attributes = ["dep:opentelemetry-semantic-conventions"]
2727

2828
[dev-dependencies]
2929
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = [
3030
"testing",
31-
"logs_level_enabled",
31+
"spec_unstable_logs_enabled",
3232
] }
3333
opentelemetry-stdout = { path = "../opentelemetry-stdout", features = ["logs"] }
3434
log = { workspace = true, features = ["kv_serde"] }

opentelemetry-appender-log/src/lib.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
//!
9090
//! This library provides the following Cargo features:
9191
//!
92-
//! - `logs_level_enabled`: Allow users to control the log level.
92+
//! - `spec_unstable_logs_enabled`: Allow users to control the log level.
9393
//! - `with-serde`: Support complex values as attributes without stringifying them.
9494
//!
9595
//! [Logs Bridge API]: https://opentelemetry.io/docs/specs/otel/logs/bridge-api/
@@ -117,11 +117,11 @@ where
117117
L: Logger + Send + Sync,
118118
{
119119
fn enabled(&self, _metadata: &Metadata) -> bool {
120-
#[cfg(feature = "logs_level_enabled")]
120+
#[cfg(feature = "spec_unstable_logs_enabled")]
121121
return self
122122
.logger
123123
.event_enabled(severity_of_level(_metadata.level()), _metadata.target());
124-
#[cfg(not(feature = "logs_level_enabled"))]
124+
#[cfg(not(feature = "spec_unstable_logs_enabled"))]
125125
true
126126
}
127127

@@ -770,9 +770,9 @@ mod tests {
770770
// As a result of using `with_simple_exporter` while building the logger provider,
771771
// the processor used is a `SimpleLogProcessor` which has an implementation of `event_enabled`
772772
// that always returns true.
773-
#[cfg(feature = "logs_level_enabled")]
773+
#[cfg(feature = "spec_unstable_logs_enabled")]
774774
assert!(otel_log_appender.enabled(&log::Metadata::builder().build()));
775-
#[cfg(not(feature = "logs_level_enabled"))]
775+
#[cfg(not(feature = "spec_unstable_logs_enabled"))]
776776
assert!(otel_log_appender.enabled(&log::Metadata::builder().build()));
777777
}
778778

opentelemetry-appender-tracing/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## vNext
44

55
- Bump MSRV to 1.70 [#2179](https://github.com/open-telemetry/opentelemetry-rust/pull/2179)
6+
- **Breaking** [2291](https://github.com/open-telemetry/opentelemetry-rust/pull/2291) Rename `logs_level_enabled flag` to `spec_unstable_logs_enabled`. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.
67

78
## v0.26.0
89
Released 2024-Sep-30

opentelemetry-appender-tracing/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ pprof = { version = "0.13", features = ["flamegraph", "criterion"] }
3333

3434
[features]
3535
experimental_metadata_attributes = ["dep:tracing-log"]
36-
logs_level_enabled = ["opentelemetry/logs_level_enabled"]
36+
spec_unstable_logs_enabled = ["opentelemetry/spec_unstable_logs_enabled"]
3737

3838

3939
[[bench]]
4040
name = "logs"
4141
harness = false
42-
required-features = ["logs_level_enabled"]
42+
required-features = ["spec_unstable_logs_enabled"]

opentelemetry-appender-tracing/src/layer.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ where
184184
self.logger.emit(log_record);
185185
}
186186

187-
#[cfg(feature = "logs_level_enabled")]
187+
#[cfg(feature = "spec_unstable_logs_enabled")]
188188
fn event_enabled(
189189
&self,
190190
_event: &tracing_core::Event<'_>,

opentelemetry-sdk/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545

4646
- Users calling public APIs that return these constructs (e.g, LoggerProvider::shutdown(), MeterProvider::force_flush()) should now import them from the SDK instead of the API.
4747
- Developers creating custom exporters should ensure they import these constructs from the SDK, not the API.
48+
- [2291](https://github.com/open-telemetry/opentelemetry-rust/pull/2291) Rename `logs_level_enabled flag` to `spec_unstable_logs_enabled`. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.
49+
4850

4951
- **BREAKING**: `Temporality` enum moved from `opentelemetry_sdk::metrics::data::Temporality` to `opentelemetry_sdk::metrics::Temporality`.
5052

opentelemetry-sdk/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ default = ["trace", "metrics", "logs", "internal-logs"]
4646
trace = ["opentelemetry/trace", "rand", "async-trait", "percent-encoding"]
4747
jaeger_remote_sampler = ["trace", "opentelemetry-http", "http", "serde", "serde_json", "url"]
4848
logs = ["opentelemetry/logs", "async-trait", "serde_json"]
49-
logs_level_enabled = ["logs", "opentelemetry/logs_level_enabled"]
49+
spec_unstable_logs_enabled = ["logs", "opentelemetry/spec_unstable_logs_enabled"]
5050
metrics = ["opentelemetry/metrics", "glob", "async-trait"]
5151
testing = ["opentelemetry/testing", "trace", "metrics", "logs", "rt-async-std", "rt-tokio", "rt-tokio-current-thread", "tokio/macros", "tokio/rt-multi-thread"]
5252
rt-tokio = ["tokio", "tokio-stream"]

opentelemetry-sdk/src/export/logs/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use crate::logs::LogRecord;
33
use crate::logs::{LogError, LogResult};
44
use crate::Resource;
55
use async_trait::async_trait;
6-
#[cfg(feature = "logs_level_enabled")]
6+
#[cfg(feature = "spec_unstable_logs_enabled")]
77
use opentelemetry::logs::Severity;
88
use opentelemetry::InstrumentationScope;
99
use std::fmt::Debug;
@@ -85,7 +85,7 @@ pub trait LogExporter: Send + Sync + Debug {
8585
async fn export(&mut self, batch: LogBatch<'_>) -> LogResult<()>;
8686
/// Shuts down the exporter.
8787
fn shutdown(&mut self) {}
88-
#[cfg(feature = "logs_level_enabled")]
88+
#[cfg(feature = "spec_unstable_logs_enabled")]
8989
/// Chek if logs are enabled.
9090
fn event_enabled(&self, _level: Severity, _target: &str, _name: &str) -> bool {
9191
// By default, all logs are enabled

opentelemetry-sdk/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
//!
9090
//! For `logs` the following feature flags are available:
9191
//!
92-
//! * `logs_level_enabled`: control the log level
92+
//! * `spec_unstable_logs_enabled`: control the log level
9393
//!
9494
//! Support for recording and exporting telemetry asynchronously and perform
9595
//! metrics aggregation can be added via the following flags:

opentelemetry-sdk/src/logs/log_emitter.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use crate::{export::logs::LogExporter, runtime::RuntimeChannel, Resource};
33
use crate::{logs::LogError, logs::LogResult};
44
use opentelemetry::{otel_debug, trace::TraceContextExt, Context, InstrumentationScope};
55

6-
#[cfg(feature = "logs_level_enabled")]
6+
#[cfg(feature = "spec_unstable_logs_enabled")]
77
use opentelemetry::logs::Severity;
88

99
use std::time::SystemTime;
@@ -282,7 +282,7 @@ impl opentelemetry::logs::Logger for Logger {
282282
}
283283
}
284284

285-
#[cfg(feature = "logs_level_enabled")]
285+
#[cfg(feature = "spec_unstable_logs_enabled")]
286286
fn event_enabled(&self, level: Severity, target: &str) -> bool {
287287
let provider = self.provider();
288288

opentelemetry-sdk/src/logs/log_processor.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use futures_util::{
99
future::{self, Either},
1010
{pin_mut, stream, StreamExt as _},
1111
};
12-
#[cfg(feature = "logs_level_enabled")]
12+
#[cfg(feature = "spec_unstable_logs_enabled")]
1313
use opentelemetry::logs::Severity;
1414
use opentelemetry::{otel_debug, otel_error, otel_warn, InstrumentationScope};
1515

@@ -61,7 +61,7 @@ pub trait LogProcessor: Send + Sync + Debug {
6161
/// After shutdown returns the log processor should stop processing any logs.
6262
/// It's up to the implementation on when to drop the LogProcessor.
6363
fn shutdown(&self) -> LogResult<()>;
64-
#[cfg(feature = "logs_level_enabled")]
64+
#[cfg(feature = "spec_unstable_logs_enabled")]
6565
/// Check if logging is enabled
6666
fn event_enabled(&self, _level: Severity, _target: &str, _name: &str) -> bool {
6767
// By default, all logs are enabled

opentelemetry-stdout/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ rustdoc-args = ["--cfg", "docsrs"]
2323
default = ["trace", "metrics", "logs"]
2424
trace = ["opentelemetry/trace", "opentelemetry_sdk/trace", "futures-util"]
2525
metrics = ["async-trait", "opentelemetry/metrics", "opentelemetry_sdk/metrics"]
26-
logs = ["opentelemetry/logs", "opentelemetry_sdk/logs", "async-trait", "thiserror", "opentelemetry_sdk/logs_level_enabled"]
26+
logs = ["opentelemetry/logs", "opentelemetry_sdk/logs", "async-trait", "thiserror", "opentelemetry_sdk/spec_unstable_logs_enabled"]
2727
populate-logs-event-name = []
2828

2929
[dependencies]

opentelemetry/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ let counter = meter.u64_counter("my_counter").build();
4747
- Moved `MetricError` enum from `opentelemetry::metrics::MetricError` to `opentelemetry_sdk::metrics::MetricError`
4848
- Moved `MetricResult` type alias from `opentelemetry::metrics::MetricResult` to `opentelemetry_sdk::metrics::MetricResult`
4949
These changes shouldn't directly affect the users of OpenTelemetry crate, as these constructs are used in SDK and Exporters. If you are an author of an sdk component/plug-in, like an exporter etc. please use these types from sdk. Refer [CHANGELOG.md](https://github.com/open-telemetry/opentelemetry-rust/blob/main/opentelemetry-sdk/CHANGELOG.md) for more details, under same version section.
50+
- **Breaking** [2291](https://github.com/open-telemetry/opentelemetry-rust/pull/2291) Rename `logs_level_enabled flag` to `spec_unstable_logs_enabled`. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.
51+
5052

5153
## v0.26.0
5254
Released 2024-Sep-30

opentelemetry/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ trace = ["pin-project-lite"]
3737
metrics = []
3838
testing = ["trace", "metrics"]
3939
logs = []
40-
logs_level_enabled = ["logs"]
40+
spec_unstable_logs_enabled = ["logs"]
4141
otel_unstable = []
4242
internal-logs = ["tracing"]
4343

4444
[dev-dependencies]
45-
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = ["logs_level_enabled"]} # for documentation tests
45+
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = ["spec_unstable_logs_enabled"]} # for documentation tests
4646
criterion = { workspace = true }
4747
rand = { workspace = true }
4848

opentelemetry/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
//! The default feature flags are ["trace", "metrics", "logs"]
115115
//!
116116
//! The following feature flags provides additional configuration for `logs`:
117-
//! * `logs_level_enabled`: Allow users to control the log level
117+
//! * `spec_unstable_logs_enabled`: Allow users to control the log level
118118
//!
119119
//! The following feature flags enable APIs defined in OpenTelemetry specification that is in experimental phase:
120120
//! * `otel_unstable`: Includes unstable APIs.

opentelemetry/src/logs/logger.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::borrow::Cow;
22

33
use crate::{logs::LogRecord, InstrumentationScope};
44

5-
#[cfg(feature = "logs_level_enabled")]
5+
#[cfg(feature = "spec_unstable_logs_enabled")]
66
use super::Severity;
77

88
/// The interface for emitting [`LogRecord`]s.
@@ -20,7 +20,7 @@ pub trait Logger {
2020
/// [`Context`]: crate::Context
2121
fn emit(&self, record: Self::LogRecord);
2222

23-
#[cfg(feature = "logs_level_enabled")]
23+
#[cfg(feature = "spec_unstable_logs_enabled")]
2424
/// Check if the given log level is enabled.
2525
fn event_enabled(&self, level: Severity, target: &str) -> bool;
2626
}

opentelemetry/src/logs/noop.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ impl Logger for NoopLogger {
7878
NoopLogRecord {}
7979
}
8080
fn emit(&self, _record: Self::LogRecord) {}
81-
#[cfg(feature = "logs_level_enabled")]
81+
#[cfg(feature = "spec_unstable_logs_enabled")]
8282
fn event_enabled(&self, _level: super::Severity, _target: &str) -> bool {
8383
false
8484
}

scripts/lint.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ if rustup component add clippy; then
2828
-Dwarnings
2929
done
3030

31-
cargo_feature opentelemetry "trace,metrics,logs,logs_level_enabled,testing"
31+
cargo_feature opentelemetry "trace,metrics,logs,spec_unstable_logs_enabled,testing"
3232

3333
cargo_feature opentelemetry-otlp "default"
3434
cargo_feature opentelemetry-otlp "default,tls"

stress/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ doc = false
4343
ctrlc = "3.2.5"
4444
lazy_static = "1.4.0"
4545
num_cpus = "1.15.0"
46-
opentelemetry = { path = "../opentelemetry", features = ["metrics", "logs", "trace", "logs_level_enabled"] }
47-
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = ["metrics", "logs", "trace", "logs_level_enabled"] }
46+
opentelemetry = { path = "../opentelemetry", features = ["metrics", "logs", "trace", "spec_unstable_logs_enabled"] }
47+
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = ["metrics", "logs", "trace", "spec_unstable_logs_enabled"] }
4848
opentelemetry-appender-tracing = { path = "../opentelemetry-appender-tracing"}
4949
rand = { version = "0.8.4", features = ["small_rng"] }
5050
tracing = { workspace = true, features = ["std"]}

0 commit comments

Comments
 (0)