Skip to content

Commit bbb1821

Browse files
Copilotcijothomas
andauthored
fix: log sdk no longer enables trace feature (#3102)
Co-authored-by: Cijo Thomas <[email protected]>
1 parent fa15073 commit bbb1821

File tree

6 files changed

+31
-14
lines changed

6 files changed

+31
-14
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,15 +1038,15 @@ mod tests {
10381038
use std::time::{Duration, SystemTime};
10391039

10401040
let span_context = SpanContext::new(
1041-
TraceId::from_u128(123),
1042-
SpanId::from_u64(456),
1041+
TraceId::from(123),
1042+
SpanId::from(456),
10431043
TraceFlags::default(),
10441044
false,
10451045
TraceState::default(),
10461046
);
10471047
SpanData {
10481048
span_context,
1049-
parent_span_id: SpanId::from_u64(0),
1049+
parent_span_id: SpanId::from(0),
10501050
span_kind: SpanKind::Internal,
10511051
name: Cow::Borrowed("test_span"),
10521052
start_time: SystemTime::UNIX_EPOCH,

opentelemetry-sdk/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
- **Fix**: Restore true parallel exports in the async-native `BatchSpanProcessor` by honoring `OTEL_BSP_MAX_CONCURRENT_EXPORTS` ([#2959](https://github.com/open-telemetry/opentelemetry-rust/pull/3028)). A regression in [#2685](https://github.com/open-telemetry/opentelemetry-rust/pull/2685) inadvertently awaited the `export()` future directly in `opentelemetry-sdk/src/trace/span_processor_with_async_runtime.rs` instead of spawning it on the runtime, forcing all exports to run sequentially.
88
- **Feature**: Added `Clone` implementation to `SdkLogger` for API consistency with `SdkTracer` ([#3058](https://github.com/open-telemetry/opentelemetry-rust/issues/3058)).
99
- **Fix**: batch size accounting in BatchSpanProcessor when queue is full ([#3089](https://github.com/open-telemetry/opentelemetry-rust/pull/3089)).
10+
- **Fix**: Resolved dependency issue where the "logs" feature incorrectly
11+
required the "trace" feature flag
12+
([#3096](https://github.com/open-telemetry/opentelemetry-rust/issues/3096)).
13+
The logs functionality now operates independently, while automatic correlation
14+
between logs and traces continues to work when the "trace" feature is
15+
explicitly enabled.
1016

1117
## 0.30.0
1218

opentelemetry-sdk/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pprof = { version = "0.14", features = ["flamegraph", "criterion"] }
4242
default = ["trace", "metrics", "logs", "internal-logs"]
4343
trace = ["opentelemetry/trace", "rand", "percent-encoding"]
4444
jaeger_remote_sampler = ["trace", "opentelemetry-http", "http", "serde", "serde_json", "url", "experimental_async_runtime"]
45-
logs = ["opentelemetry/logs", "opentelemetry/trace", "serde_json"]
45+
logs = ["opentelemetry/logs", "serde_json"]
4646
spec_unstable_logs_enabled = ["logs", "opentelemetry/spec_unstable_logs_enabled"]
4747
metrics = ["opentelemetry/metrics"]
4848
testing = ["opentelemetry/testing", "trace", "metrics", "logs", "rt-tokio", "rt-tokio-current-thread", "tokio/macros", "tokio/rt-multi-thread"]

opentelemetry-sdk/src/logs/logger.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
use super::{SdkLogRecord, SdkLoggerProvider, TraceContext};
2-
use opentelemetry::{trace::TraceContextExt, Context, InstrumentationScope};
1+
#[cfg(feature = "trace")]
2+
use super::TraceContext;
3+
use super::{SdkLogRecord, SdkLoggerProvider};
4+
#[cfg(feature = "trace")]
5+
use opentelemetry::trace::TraceContextExt;
6+
use opentelemetry::{Context, InstrumentationScope};
37

48
#[cfg(feature = "spec_unstable_logs_enabled")]
59
use opentelemetry::logs::Severity;
@@ -37,6 +41,7 @@ impl opentelemetry::logs::Logger for SdkLogger {
3741

3842
//let mut log_record = record;
3943
if record.trace_context.is_none() {
44+
#[cfg(feature = "trace")]
4045
Context::map_current(|cx| {
4146
cx.has_active_span().then(|| {
4247
record.trace_context = Some(TraceContext::from(cx.span().span_context()))

opentelemetry-sdk/src/logs/logger_provider.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -283,21 +283,24 @@ impl LoggerProviderBuilder {
283283

284284
#[cfg(test)]
285285
mod tests {
286+
#[cfg(feature = "trace")]
287+
use crate::logs::TraceContext;
288+
#[cfg(feature = "trace")]
289+
use crate::trace::SdkTracerProvider;
286290
use crate::{
287-
logs::{InMemoryLogExporter, LogBatch, SdkLogRecord, TraceContext},
291+
logs::{InMemoryLogExporter, LogBatch, SdkLogRecord},
288292
resource::{
289293
SERVICE_NAME, TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_NAME, TELEMETRY_SDK_VERSION,
290294
},
291-
trace::SdkTracerProvider,
292295
Resource,
293296
};
294297

295298
use super::*;
299+
use opentelemetry::logs::{AnyValue, LogRecord as _, Logger, LoggerProvider};
300+
#[cfg(feature = "trace")]
301+
use opentelemetry::trace::TraceContextExt;
302+
#[cfg(feature = "trace")]
296303
use opentelemetry::trace::{SpanId, TraceId, Tracer as _, TracerProvider};
297-
use opentelemetry::{
298-
logs::{AnyValue, LogRecord as _, Logger, LoggerProvider},
299-
trace::TraceContextExt,
300-
};
301304
use opentelemetry::{Key, KeyValue, Value};
302305
use std::fmt::{Debug, Formatter};
303306
use std::sync::atomic::AtomicU64;
@@ -591,6 +594,7 @@ mod tests {
591594
}
592595

593596
#[test]
597+
#[cfg(feature = "trace")]
594598
fn trace_context_test() {
595599
let exporter = InMemoryLogExporter::default();
596600

opentelemetry-sdk/src/logs/record.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
use crate::growable_array::GrowableArray;
2+
#[cfg(feature = "trace")]
3+
use opentelemetry::trace::SpanContext;
24
use opentelemetry::{
35
logs::{AnyValue, Severity},
4-
trace::{SpanContext, SpanId, TraceFlags, TraceId},
5-
Key,
6+
Key, SpanId, TraceFlags, TraceId,
67
};
78
use std::{borrow::Cow, time::SystemTime};
89

@@ -216,6 +217,7 @@ pub struct TraceContext {
216217
pub trace_flags: Option<TraceFlags>,
217218
}
218219

220+
#[cfg(feature = "trace")]
219221
impl From<&SpanContext> for TraceContext {
220222
fn from(span_context: &SpanContext) -> Self {
221223
TraceContext {

0 commit comments

Comments
 (0)