Skip to content

Commit a20d014

Browse files
authored
Merge branch 'main' into baggage-improvements
2 parents 62f1274 + 45ed2e0 commit a20d014

File tree

66 files changed

+1056
-139
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1056
-139
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

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ observability tools.
2727

2828
| Signal/Component | Overall Status |
2929
| -------------------- | ------------------ |
30-
| Logs-API | Beta* |
30+
| Logs-API | RC* |
3131
| Logs-SDK | Beta |
3232
| Logs-OTLP Exporter | Beta |
3333
| Logs-Appender-Tracing | Beta |
34-
| Metrics-API | Beta |
35-
| Metrics-SDK | Alpha |
36-
| Metrics-OTLP Exporter | Alpha |
34+
| Metrics-API | RC |
35+
| Metrics-SDK | Beta |
36+
| Metrics-OTLP Exporter | Beta |
3737
| Traces-API | Beta |
3838
| Traces-SDK | Beta |
3939
| Traces-OTLP Exporter | Beta |

examples/metrics-advanced/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ publish = false
77

88
[dependencies]
99
opentelemetry = { path = "../../opentelemetry", features = ["metrics"] }
10-
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["metrics", "rt-tokio"] }
10+
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["spec_unstable_metrics_views", "rt-tokio"] }
1111
opentelemetry-stdout = { path = "../../opentelemetry-stdout", features = ["metrics"] }
1212
tokio = { workspace = true, features = ["full"] }
1313
serde_json = { workspace = true }

examples/metrics-advanced/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use opentelemetry::global;
22
use opentelemetry::Key;
33
use opentelemetry::KeyValue;
44
use opentelemetry_sdk::metrics::{
5-
data::Temporality, Aggregation, Instrument, PeriodicReader, SdkMeterProvider, Stream,
5+
Aggregation, Instrument, PeriodicReader, SdkMeterProvider, Stream, Temporality,
66
};
77
use opentelemetry_sdk::{runtime, Resource};
88
use std::error::Error;

examples/metrics-basic/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use std::vec;
88
fn init_meter_provider() -> opentelemetry_sdk::metrics::SdkMeterProvider {
99
let exporter = opentelemetry_stdout::MetricExporterBuilder::default()
1010
// Build exporter using Delta Temporality (Defaults to Temporality::Cumulative)
11-
// .with_temporality(data::Temporality::Delta)
11+
// .with_temporality(opentelemetry_sdk::metrics::Temporality::Delta)
1212
.build();
1313
let reader = PeriodicReader::builder(exporter, runtime::Tokio).build();
1414
let provider = SdkMeterProvider::builder()

opentelemetry-appender-log/CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,15 @@
22

33
## vNext
44

5+
## 0.27.0
6+
7+
Released 2024-Nov-11
8+
9+
- Update `opentelemetry` dependency version to 0.27
10+
511
- Bump MSRV to 1.70 [#2179](https://github.com/open-telemetry/opentelemetry-rust/pull/2179)
612
- [2193](https://github.com/open-telemetry/opentelemetry-rust/pull/2193) `opentelemetry-appender-log`: Output experimental code attributes
13+
- **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.
714

815
## v0.26.0
916
Released 2024-Sep-30

opentelemetry-appender-log/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-appender-log"
3-
version = "0.26.0"
3+
version = "0.27.0"
44
description = "An OpenTelemetry appender for the log crate"
55
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-log"
66
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-log"
@@ -11,24 +11,24 @@ rust-version = "1.70"
1111
edition = "2021"
1212

1313
[dependencies]
14-
opentelemetry = { version = "0.26", path = "../opentelemetry", features = [
14+
opentelemetry = { version = "0.27", path = "../opentelemetry", features = [
1515
"logs",
1616
] }
1717
log = { workspace = true, features = ["kv", "std"] }
1818
serde = { workspace = true, optional = true, features = ["std"] }
19-
opentelemetry-semantic-conventions = { path = "../opentelemetry-semantic-conventions", optional = true, features = [
19+
opentelemetry-semantic-conventions = { version = "0.27", path = "../opentelemetry-semantic-conventions", optional = true, features = [
2020
"semconv_experimental",
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

+7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22

33
## vNext
44

5+
## 0.27.0
6+
7+
Released 2024-Nov-11
8+
9+
- Update `opentelemetry` dependency version to 0.27
10+
511
- Bump MSRV to 1.70 [#2179](https://github.com/open-telemetry/opentelemetry-rust/pull/2179)
12+
- **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.
613

714
## v0.26.0
815
Released 2024-Sep-30

opentelemetry-appender-tracing/Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-appender-tracing"
3-
version = "0.26.0"
3+
version = "0.27.0"
44
edition = "2021"
55
description = "An OpenTelemetry log appender for the tracing crate"
66
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-tracing"
@@ -12,7 +12,7 @@ rust-version = "1.70"
1212

1313
[dependencies]
1414
log = { workspace = true, optional = true }
15-
opentelemetry = { version = "0.26", path = "../opentelemetry", features = ["logs"] }
15+
opentelemetry = { version = "0.27", path = "../opentelemetry", features = ["logs"] }
1616
tracing = { workspace = true, features = ["std"]}
1717
tracing-core = { workspace = true }
1818
tracing-log = { version = "0.2", optional = true }
@@ -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-http/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## vNext
44

5+
## 0.27.0
6+
7+
Released 2024-Nov-08
8+
9+
- Update `opentelemetry` dependency version to 0.27
10+
511
- Bump MSRV to 1.70 [#2179](https://github.com/open-telemetry/opentelemetry-rust/pull/2179)
612

713
## v0.26.0

opentelemetry-http/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-http"
3-
version = "0.26.0"
3+
version = "0.27.0"
44
description = "Helper implementations for sending HTTP requests. Uses include propagating and extracting context over http, exporting telemetry, requesting sampling strategies."
55
homepage = "https://github.com/open-telemetry/opentelemetry-rust"
66
repository = "https://github.com/open-telemetry/opentelemetry-rust"
@@ -21,6 +21,6 @@ http = { workspace = true }
2121
http-body-util = { workspace = true, optional = true }
2222
hyper = { workspace = true, optional = true }
2323
hyper-util = { workspace = true, features = ["client-legacy", "http1", "http2"], optional = true }
24-
opentelemetry = { version = "0.26", path = "../opentelemetry", features = ["trace"] }
24+
opentelemetry = { version = "0.27", path = "../opentelemetry", features = ["trace"] }
2525
reqwest = { workspace = true, features = ["blocking"], optional = true }
2626
tokio = { workspace = true, features = ["time"], optional = true }

opentelemetry-jaeger-propagator/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## vNext
44

5+
## 0.27.0
6+
7+
Released 2024-Nov-11
8+
9+
- Update `opentelemetry` dependency version to 0.27
10+
511
- Bump MSRV to 1.70 [#2179](https://github.com/open-telemetry/opentelemetry-rust/pull/2179)
612

713
## v0.26.0

opentelemetry-jaeger-propagator/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-jaeger-propagator"
3-
version = "0.26.0"
3+
version = "0.27.0"
44
description = "Jaeger propagator for OpenTelemetry"
55
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-jaeger-propagator"
66
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-jaeger-propagator"
@@ -20,7 +20,7 @@ all-features = true
2020
rustdoc-args = ["--cfg", "docsrs"]
2121

2222
[dependencies]
23-
opentelemetry = { version = "0.26", default-features = false, features = [
23+
opentelemetry = { version = "0.27", default-features = false, features = [
2424
"trace",
2525
], path = "../opentelemetry" }
2626

opentelemetry-otlp/CHANGELOG.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
## vNext
44

5+
## 0.27.0
6+
7+
Released 2024-Nov-11
8+
9+
- Update `opentelemetry` dependency version to 0.27
10+
- Update `opentelemetry_sdk` dependency version to 0.27
11+
- Update `opentelemetry-http` dependency version to 0.27
12+
- Update `opentelemetry-proto` dependency version to 0.27
13+
514
- **BREAKING**:
615
- ([#2217](https://github.com/open-telemetry/opentelemetry-rust/pull/2217)) **Replaced**: The `MetricsExporterBuilder` interface is modified from `with_temporality_selector` to `with_temporality` example can be seen below:
716
Previous Signature:
@@ -10,7 +19,7 @@
1019
```
1120
Updated Signature:
1221
```rust
13-
MetricsExporterBuilder::default().with_temporality(Temporality::Delta)
22+
MetricsExporterBuilder::default().with_temporality(opentelemetry_sdk::metrics::Temporality::Delta)
1423
```
1524
- ([#2221](https://github.com/open-telemetry/opentelemetry-rust/pull/2221)) **Replaced**:
1625
- The `opentelemetry_otlp::new_pipeline().{trace,logging,metrics}()` interface is now replaced with `{TracerProvider,SdkMeterProvider,LoggerProvider}::builder()`.

opentelemetry-otlp/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-otlp"
3-
version = "0.26.0"
3+
version = "0.27.0"
44
description = "Exporter for the OpenTelemetry Collector"
55
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp"
66
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp"
@@ -28,10 +28,10 @@ rustdoc-args = ["--cfg", "docsrs"]
2828
[dependencies]
2929
async-trait = { workspace = true }
3030
futures-core = { workspace = true }
31-
opentelemetry = { version = "0.26", default-features = false, path = "../opentelemetry" }
32-
opentelemetry_sdk = { version = "0.26", default-features = false, path = "../opentelemetry-sdk" }
33-
opentelemetry-http = { version = "0.26", path = "../opentelemetry-http", optional = true }
34-
opentelemetry-proto = { version = "0.26", path = "../opentelemetry-proto", default-features = false }
31+
opentelemetry = { version = "0.27", default-features = false, path = "../opentelemetry" }
32+
opentelemetry_sdk = { version = "0.27", default-features = false, path = "../opentelemetry-sdk" }
33+
opentelemetry-http = { version = "0.27", path = "../opentelemetry-http", optional = true }
34+
opentelemetry-proto = { version = "0.27", path = "../opentelemetry-proto", default-features = false }
3535
tracing = {workspace = true, optional = true}
3636

3737
prost = { workspace = true, optional = true }

opentelemetry-otlp/examples/basic-otlp/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ tokio = { version = "1.0", features = ["full"] }
1515
opentelemetry-appender-tracing = { path = "../../../opentelemetry-appender-tracing", default-features = false}
1616
tracing = { workspace = true, features = ["std"]}
1717
tracing-core = { workspace = true }
18-
tracing-subscriber = { workspace = true, features = ["env-filter","registry", "std"] }
18+
tracing-subscriber = { workspace = true, features = ["env-filter","registry", "std"] }

opentelemetry-otlp/src/exporter/http/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ impl Default for HttpConfig {
9999
///
100100
/// ```
101101
/// # #[cfg(feature="metrics")]
102-
/// use opentelemetry_sdk::metrics::data::Temporality;
102+
/// use opentelemetry_sdk::metrics::Temporality;
103103
///
104104
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
105105
/// // Create a span exporter you can use to when configuring tracer providers
@@ -243,7 +243,7 @@ impl HttpExporterBuilder {
243243
#[cfg(feature = "metrics")]
244244
pub fn build_metrics_exporter(
245245
mut self,
246-
temporality: opentelemetry_sdk::metrics::data::Temporality,
246+
temporality: opentelemetry_sdk::metrics::Temporality,
247247
) -> opentelemetry_sdk::metrics::MetricResult<crate::MetricExporter> {
248248
use crate::{
249249
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT, OTEL_EXPORTER_OTLP_METRICS_HEADERS,

opentelemetry-otlp/src/exporter/tonic/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ impl TryFrom<Compression> for tonic::codec::CompressionEncoding {
8181
///
8282
/// ```no_run
8383
/// # #[cfg(feature="metrics")]
84-
/// use opentelemetry_sdk::metrics::data::Temporality;
84+
/// use opentelemetry_sdk::metrics::Temporality;
8585
///
8686
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
8787
/// // Create a span exporter you can use to when configuring tracer providers
@@ -273,7 +273,7 @@ impl TonicExporterBuilder {
273273
#[cfg(feature = "metrics")]
274274
pub(crate) fn build_metrics_exporter(
275275
self,
276-
temporality: opentelemetry_sdk::metrics::data::Temporality,
276+
temporality: opentelemetry_sdk::metrics::Temporality,
277277
) -> opentelemetry_sdk::metrics::MetricResult<crate::MetricExporter> {
278278
use crate::MetricExporter;
279279
use metrics::TonicMetricsClient;

opentelemetry-otlp/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
//! use opentelemetry::{global, KeyValue, trace::Tracer};
133133
//! use opentelemetry_sdk::{trace::{self, RandomIdGenerator, Sampler}, Resource};
134134
//! # #[cfg(feature = "metrics")]
135-
//! use opentelemetry_sdk::metrics::data::Temporality;
135+
//! use opentelemetry_sdk::metrics::Temporality;
136136
//! use opentelemetry_otlp::{Protocol, WithExportConfig, WithTonicConfig};
137137
//! use std::time::Duration;
138138
//! # #[cfg(feature = "grpc-tonic")]

opentelemetry-otlp/src/metric.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ use core::fmt;
1919
use opentelemetry_sdk::metrics::MetricResult;
2020

2121
use opentelemetry_sdk::metrics::{
22-
data::{ResourceMetrics, Temporality},
23-
exporter::PushMetricExporter,
22+
data::ResourceMetrics, exporter::PushMetricExporter, Temporality,
2423
};
2524
use std::fmt::{Debug, Formatter};
2625

opentelemetry-otlp/tests/integration_test/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ testcontainers = "0.15.0"
1717
[target.'cfg(unix)'.dependencies]
1818
opentelemetry-appender-log = { path = "../../../opentelemetry-appender-log", default-features = false}
1919
opentelemetry-otlp = { path = "../../../opentelemetry-otlp", features = ["tonic", "metrics", "logs"] }
20-
opentelemetry-semantic-conventions = { path = "../../../opentelemetry-semantic-conventions" }
20+
opentelemetry-semantic-conventions = { path = "../../../opentelemetry-semantic-conventions" }

opentelemetry-proto/CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
## vNext
44

5+
## 0.27.0
6+
7+
Released 2024-Nov-11
8+
9+
- Update `opentelemetry` dependency version to 0.27
10+
- Update `opentelemetry_sdk` dependency version to 0.27
11+
512
## v0.26.1
613

714
- Require tonic 0.12.3 to match generated gRPC code [#2168](https://github.com/open-telemetry/opentelemetry-rust/pull/2168)

0 commit comments

Comments
 (0)