Skip to content

Commit e9b27a4

Browse files
housemecijothomas
andauthored
chore: update from tracing-opentelemetry 0.29.0 to 0.30.0 (#2856)
Co-authored-by: Cijo Thomas <[email protected]>
1 parent f1c7ce9 commit e9b27a4

File tree

4 files changed

+77
-71
lines changed

4 files changed

+77
-71
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ sysinfo = "0.32"
7575
tempfile = "3.3.0"
7676
testcontainers = "0.23.1"
7777
tracing-log = "0.2"
78-
tracing-opentelemetry = "0.29"
78+
tracing-opentelemetry = "0.30"
7979
typed-builder = "0.20"
8080
uuid = "1.3"
8181

opentelemetry-appender-tracing/CHANGELOG.md

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

33
## vNext
44

5+
## 0.29.1
6+
7+
Released 2025-Mar-24
8+
9+
- Bump `tracing-opentelemetry` to 0.30
10+
11+
512
## 0.29.0
613

714
Released 2025-Mar-21

opentelemetry-appender-tracing/Cargo.toml

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-appender-tracing"
3-
version = "0.29.0"
3+
version = "0.29.1"
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"
@@ -17,7 +17,7 @@ tracing = { workspace = true, features = ["std"]}
1717
tracing-core = { workspace = true }
1818
tracing-log = { workspace = true, optional = true }
1919
tracing-subscriber = { workspace = true, features = ["registry", "std"] }
20-
# tracing-opentelemetry = { workspace = true, optional = true }
20+
tracing-opentelemetry = { workspace = true, optional = true }
2121

2222
[dev-dependencies]
2323
log = { workspace = true }
@@ -36,8 +36,7 @@ pprof = { version = "0.14", features = ["flamegraph", "criterion"] }
3636
default = []
3737
experimental_metadata_attributes = ["dep:tracing-log"]
3838
spec_unstable_logs_enabled = ["opentelemetry/spec_unstable_logs_enabled"]
39-
# TODO - Enable this in 0.29.1 (once tracing-opentelemetry v0.30 is released)
40-
# experimental_use_tracing_span_context = ["tracing-opentelemetry"]
39+
experimental_use_tracing_span_context = ["tracing-opentelemetry"]
4140

4241

4342
[[bench]]

opentelemetry-appender-tracing/src/layer.rs

+66-66
Original file line numberDiff line numberDiff line change
@@ -244,25 +244,25 @@ where
244244
// Visit fields.
245245
event.record(&mut visitor);
246246

247-
// #[cfg(feature = "experimental_use_tracing_span_context")]
248-
// if let Some(span) = _ctx.event_span(event) {
249-
// use tracing_opentelemetry::OtelData;
250-
// let opt_span_id = span
251-
// .extensions()
252-
// .get::<OtelData>()
253-
// .and_then(|otd| otd.builder.span_id);
254-
255-
// let opt_trace_id = span.scope().last().and_then(|root_span| {
256-
// root_span
257-
// .extensions()
258-
// .get::<OtelData>()
259-
// .and_then(|otd| otd.builder.trace_id)
260-
// });
261-
262-
// if let Some((trace_id, span_id)) = opt_trace_id.zip(opt_span_id) {
263-
// log_record.set_trace_context(trace_id, span_id, None);
264-
// }
265-
// }
247+
#[cfg(feature = "experimental_use_tracing_span_context")]
248+
if let Some(span) = _ctx.event_span(event) {
249+
use tracing_opentelemetry::OtelData;
250+
let opt_span_id = span
251+
.extensions()
252+
.get::<OtelData>()
253+
.and_then(|otd| otd.builder.span_id);
254+
255+
let opt_trace_id = span.scope().last().and_then(|root_span| {
256+
root_span
257+
.extensions()
258+
.get::<OtelData>()
259+
.and_then(|otd| otd.builder.trace_id)
260+
});
261+
262+
if let Some((trace_id, span_id)) = opt_trace_id.zip(opt_span_id) {
263+
log_record.set_trace_context(trace_id, span_id, None);
264+
}
265+
}
266266

267267
//emit record
268268
self.logger.emit(log_record);
@@ -673,66 +673,66 @@ mod tests {
673673
}
674674
}
675675

676-
// #[cfg(feature = "experimental_use_tracing_span_context")]
677-
// #[test]
678-
// fn tracing_appender_inside_tracing_crate_context() {
679-
// use opentelemetry_sdk::trace::InMemorySpanExporterBuilder;
676+
#[cfg(feature = "experimental_use_tracing_span_context")]
677+
#[test]
678+
fn tracing_appender_inside_tracing_crate_context() {
679+
use opentelemetry_sdk::trace::InMemorySpanExporterBuilder;
680680

681-
// // Arrange
682-
// let exporter: InMemoryLogExporter = InMemoryLogExporter::default();
683-
// let logger_provider = SdkLoggerProvider::builder()
684-
// .with_simple_exporter(exporter.clone())
685-
// .build();
681+
// Arrange
682+
let exporter: InMemoryLogExporter = InMemoryLogExporter::default();
683+
let logger_provider = SdkLoggerProvider::builder()
684+
.with_simple_exporter(exporter.clone())
685+
.build();
686686

687-
// // setup tracing layer to compare trace/span IDs against
688-
// let span_exporter = InMemorySpanExporterBuilder::new().build();
689-
// let tracer_provider = SdkTracerProvider::builder()
690-
// .with_simple_exporter(span_exporter.clone())
691-
// .build();
692-
// let tracer = tracer_provider.tracer("test-tracer");
687+
// setup tracing layer to compare trace/span IDs against
688+
let span_exporter = InMemorySpanExporterBuilder::new().build();
689+
let tracer_provider = SdkTracerProvider::builder()
690+
.with_simple_exporter(span_exporter.clone())
691+
.build();
692+
let tracer = tracer_provider.tracer("test-tracer");
693693

694-
// let level_filter = tracing_subscriber::filter::LevelFilter::ERROR;
695-
// let log_layer =
696-
// layer::OpenTelemetryTracingBridge::new(&logger_provider).with_filter(level_filter);
694+
let level_filter = tracing_subscriber::filter::LevelFilter::ERROR;
695+
let log_layer =
696+
layer::OpenTelemetryTracingBridge::new(&logger_provider).with_filter(level_filter);
697697

698-
// let subscriber = tracing_subscriber::registry()
699-
// .with(log_layer)
700-
// .with(tracing_opentelemetry::layer().with_tracer(tracer));
698+
let subscriber = tracing_subscriber::registry()
699+
.with(log_layer)
700+
.with(tracing_opentelemetry::layer().with_tracer(tracer));
701701

702-
// // Avoiding global subscriber.init() as that does not play well with unit tests.
703-
// let _guard = tracing::subscriber::set_default(subscriber);
702+
// Avoiding global subscriber.init() as that does not play well with unit tests.
703+
let _guard = tracing::subscriber::set_default(subscriber);
704704

705-
// // Act
706-
// tracing::error_span!("outer-span").in_scope(|| {
707-
// error!("first-event");
705+
// Act
706+
tracing::error_span!("outer-span").in_scope(|| {
707+
error!("first-event");
708708

709-
// tracing::error_span!("inner-span").in_scope(|| {
710-
// error!("second-event");
711-
// });
712-
// });
709+
tracing::error_span!("inner-span").in_scope(|| {
710+
error!("second-event");
711+
});
712+
});
713713

714-
// assert!(logger_provider.force_flush().is_ok());
714+
assert!(logger_provider.force_flush().is_ok());
715715

716-
// let logs = exporter.get_emitted_logs().expect("No emitted logs");
717-
// assert_eq!(logs.len(), 2, "Expected 2 logs, got: {logs:?}");
716+
let logs = exporter.get_emitted_logs().expect("No emitted logs");
717+
assert_eq!(logs.len(), 2, "Expected 2 logs, got: {logs:?}");
718718

719-
// let spans = span_exporter.get_finished_spans().unwrap();
720-
// assert_eq!(spans.len(), 2);
719+
let spans = span_exporter.get_finished_spans().unwrap();
720+
assert_eq!(spans.len(), 2);
721721

722-
// let trace_id = spans[0].span_context.trace_id();
723-
// assert_eq!(trace_id, spans[1].span_context.trace_id());
724-
// let inner_span_id = spans[0].span_context.span_id();
725-
// let outer_span_id = spans[1].span_context.span_id();
726-
// assert_eq!(outer_span_id, spans[0].parent_span_id);
722+
let trace_id = spans[0].span_context.trace_id();
723+
assert_eq!(trace_id, spans[1].span_context.trace_id());
724+
let inner_span_id = spans[0].span_context.span_id();
725+
let outer_span_id = spans[1].span_context.span_id();
726+
assert_eq!(outer_span_id, spans[0].parent_span_id);
727727

728-
// let trace_ctx0 = logs[0].record.trace_context().unwrap();
729-
// let trace_ctx1 = logs[1].record.trace_context().unwrap();
728+
let trace_ctx0 = logs[0].record.trace_context().unwrap();
729+
let trace_ctx1 = logs[1].record.trace_context().unwrap();
730730

731-
// assert_eq!(trace_ctx0.trace_id, trace_id);
732-
// assert_eq!(trace_ctx1.trace_id, trace_id);
733-
// assert_eq!(trace_ctx0.span_id, outer_span_id);
734-
// assert_eq!(trace_ctx1.span_id, inner_span_id);
735-
// }
731+
assert_eq!(trace_ctx0.trace_id, trace_id);
732+
assert_eq!(trace_ctx1.trace_id, trace_id);
733+
assert_eq!(trace_ctx0.span_id, outer_span_id);
734+
assert_eq!(trace_ctx1.span_id, inner_span_id);
735+
}
736736

737737
#[test]
738738
fn tracing_appender_standalone_with_tracing_log() {

0 commit comments

Comments
 (0)