Skip to content

Commit 2d5d544

Browse files
lalitblzchen
andauthored
Drop include_trace_context parameter from Logs API/SDK (#1133)
* Drop log API include_trace_context parameter * lint errors * update Logger:emit doc * update doc * update changelog * Update opentelemetry-api/CHANGELOG.md Co-authored-by: Leighton Chen <[email protected]> * fix merge errors * fix tests --------- Co-authored-by: Leighton Chen <[email protected]>
1 parent 309b4e5 commit 2d5d544

File tree

6 files changed

+26
-79
lines changed

6 files changed

+26
-79
lines changed

opentelemetry-api/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
### Removed
66

7+
- Drop include_trace_context parameter from Logs API/SDK. [#1133](https://github.com/open-telemetry/opentelemetry-rust/issues/1133)
78
- Synchronous instruments no longer accepts `Context` while reporting
89
measurements. [#1076](https://github.com/open-telemetry/opentelemetry-rust/pull/1076).
910

opentelemetry-api/src/global/logs.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ pub trait ObjectSafeLoggerProvider {
2424
fn boxed_logger(
2525
&self,
2626
library: Arc<InstrumentationLibrary>,
27-
include_trace_context: bool,
2827
) -> Box<dyn Logger + Send + Sync + 'static>;
2928
}
3029

@@ -36,9 +35,8 @@ where
3635
fn boxed_logger(
3736
&self,
3837
library: Arc<InstrumentationLibrary>,
39-
include_trace_context: bool,
4038
) -> Box<dyn Logger + Send + Sync + 'static> {
41-
Box::new(self.library_logger(library, include_trace_context))
39+
Box::new(self.library_logger(library))
4240
}
4341
}
4442

@@ -84,12 +82,8 @@ impl GlobalLoggerProvider {
8482
impl LoggerProvider for GlobalLoggerProvider {
8583
type Logger = BoxedLogger;
8684

87-
fn library_logger(
88-
&self,
89-
library: Arc<InstrumentationLibrary>,
90-
include_trace_context: bool,
91-
) -> Self::Logger {
92-
BoxedLogger(self.provider.boxed_logger(library, include_trace_context))
85+
fn library_logger(&self, library: Arc<InstrumentationLibrary>) -> Self::Logger {
86+
BoxedLogger(self.provider.boxed_logger(library))
9387
}
9488
}
9589

opentelemetry-api/src/logs/logger.rs

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@ use crate::{logs::LogRecord, InstrumentationLibrary, KeyValue};
44

55
/// The interface for emitting [`LogRecord`]s.
66
pub trait Logger {
7-
/// Emit a [`LogRecord`]. If this `Logger` was created with
8-
/// `include_trace_context` set to `true`, the logger will set the record's
9-
/// [`TraceContext`] to the active trace context, using the current thread's
10-
/// [`Context`].
7+
/// Emit a [`LogRecord`]. If there is active current thread's [`Context`],
8+
/// the logger will set the record's [`TraceContext`] to the active trace context,
119
///
1210
/// [`Context`]: crate::Context
1311
/// [`TraceContext`]: crate::logs::TraceContext
@@ -24,28 +22,16 @@ pub trait LoggerProvider {
2422
/// The `name` should be the application name or the name of the library
2523
/// providing instrumentation. If the name is empty, then an
2624
/// implementation-defined default name may be used instead.
27-
///
28-
/// If `include_trace_context` is `true`, the newly created [`Logger`]
29-
/// should set the [`TraceContext`] associated with a record to the
30-
/// current thread's active trace context, using [`Context`].
31-
///
32-
/// [`Context`]: crate::Context
33-
/// [`TraceContext`]: crate::logs::TraceContext
34-
3525
fn versioned_logger(
3626
&self,
3727
name: impl Into<Cow<'static, str>>,
3828
version: Option<Cow<'static, str>>,
3929
schema_url: Option<Cow<'static, str>>,
4030
attributes: Option<Vec<KeyValue>>,
41-
include_trace_context: bool,
4231
) -> Self::Logger {
43-
self.library_logger(
44-
Arc::new(InstrumentationLibrary::new(
45-
name, version, schema_url, attributes,
46-
)),
47-
include_trace_context,
48-
)
32+
self.library_logger(Arc::new(InstrumentationLibrary::new(
33+
name, version, schema_url, attributes,
34+
)))
4935
}
5036

5137
/// Returns a new versioned logger with the given instrumentation library.
@@ -66,20 +52,16 @@ pub trait LoggerProvider {
6652
/// Some("https://opentelemetry.io/schema/1.0.0"),
6753
/// None,
6854
/// ));
69-
/// let logger = provider.library_logger(library, true);
55+
/// let logger = provider.library_logger(library);
7056
/// ```
71-
fn library_logger(
72-
&self,
73-
library: Arc<InstrumentationLibrary>,
74-
include_trace_context: bool,
75-
) -> Self::Logger;
57+
fn library_logger(&self, library: Arc<InstrumentationLibrary>) -> Self::Logger;
7658

7759
/// Returns a new logger with the given name.
7860
///
7961
/// The `name` should be the application name or the name of the library
8062
/// providing instrumentation. If the name is empty, then an
8163
/// implementation-defined default name may be used instead.
8264
fn logger(&self, name: impl Into<Cow<'static, str>>) -> Self::Logger {
83-
self.versioned_logger(name, None, None, None, true)
65+
self.versioned_logger(name, None, None, None)
8466
}
8567
}

opentelemetry-api/src/logs/noop.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,7 @@ impl NoopLoggerProvider {
1919
impl LoggerProvider for NoopLoggerProvider {
2020
type Logger = NoopLogger;
2121

22-
fn library_logger(
23-
&self,
24-
_library: Arc<InstrumentationLibrary>,
25-
_include_trace_context: bool,
26-
) -> Self::Logger {
22+
fn library_logger(&self, _library: Arc<InstrumentationLibrary>) -> Self::Logger {
2723
NoopLogger(())
2824
}
2925

@@ -33,7 +29,6 @@ impl LoggerProvider for NoopLoggerProvider {
3329
_version: Option<Cow<'static, str>>,
3430
_schema_url: Option<Cow<'static, str>>,
3531
_attributes: Option<Vec<KeyValue>>,
36-
_include_trace_context: bool,
3732
) -> Self::Logger {
3833
NoopLogger(())
3934
}

opentelemetry-otlp/src/logs.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -417,16 +417,12 @@ impl OtlpLogPipeline {
417417
/// current crate version, using the configured log exporter.
418418
///
419419
/// [`Logger`]: opentelemetry_sdk::logs::Logger
420-
pub fn simple(
421-
self,
422-
include_trace_context: bool,
423-
) -> Result<opentelemetry_sdk::logs::Logger, LogError> {
420+
pub fn simple(self) -> Result<opentelemetry_sdk::logs::Logger, LogError> {
424421
Ok(build_simple_with_exporter(
425422
self.exporter_builder
426423
.ok_or(crate::Error::NoExporterBuilder)?
427424
.build_log_exporter()?,
428425
self.log_config,
429-
include_trace_context,
430426
))
431427
}
432428

@@ -438,23 +434,20 @@ impl OtlpLogPipeline {
438434
pub fn batch<R: RuntimeChannel<BatchMessage>>(
439435
self,
440436
runtime: R,
441-
include_trace_context: bool,
442437
) -> Result<opentelemetry_sdk::logs::Logger, LogError> {
443438
Ok(build_batch_with_exporter(
444439
self.exporter_builder
445440
.ok_or(crate::Error::NoExporterBuilder)?
446441
.build_log_exporter()?,
447442
self.log_config,
448443
runtime,
449-
include_trace_context,
450444
))
451445
}
452446
}
453447

454448
fn build_simple_with_exporter(
455449
exporter: LogExporter,
456450
log_config: Option<opentelemetry_sdk::logs::Config>,
457-
include_trace_context: bool,
458451
) -> opentelemetry_sdk::logs::Logger {
459452
let mut provider_builder =
460453
opentelemetry_sdk::logs::LoggerProvider::builder().with_simple_exporter(exporter);
@@ -467,15 +460,13 @@ fn build_simple_with_exporter(
467460
Some(Cow::Borrowed(env!("CARGO_PKG_VERSION"))),
468461
None,
469462
None,
470-
include_trace_context,
471463
)
472464
}
473465

474466
fn build_batch_with_exporter<R: RuntimeChannel<BatchMessage>>(
475467
exporter: LogExporter,
476468
log_config: Option<opentelemetry_sdk::logs::Config>,
477469
runtime: R,
478-
include_trace_context: bool,
479470
) -> opentelemetry_sdk::logs::Logger {
480471
let mut provider_builder =
481472
opentelemetry_sdk::logs::LoggerProvider::builder().with_batch_exporter(exporter, runtime);
@@ -488,6 +479,5 @@ fn build_batch_with_exporter<R: RuntimeChannel<BatchMessage>>(
488479
Some(Cow::Borrowed("CARGO_PKG_VERSION")),
489480
None,
490481
None,
491-
include_trace_context,
492482
)
493483
}

opentelemetry-sdk/src/logs/log_emitter.rs

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ impl opentelemetry_api::logs::LoggerProvider for LoggerProvider {
3333
version: Option<Cow<'static, str>>,
3434
schema_url: Option<Cow<'static, str>>,
3535
attributes: Option<Vec<opentelemetry_api::KeyValue>>,
36-
include_trace_context: bool,
3736
) -> Logger {
3837
let name = name.into();
3938

@@ -43,23 +42,16 @@ impl opentelemetry_api::logs::LoggerProvider for LoggerProvider {
4342
name
4443
};
4544

46-
self.library_logger(
47-
Arc::new(InstrumentationLibrary::new(
48-
component_name,
49-
version,
50-
schema_url,
51-
attributes,
52-
)),
53-
include_trace_context,
54-
)
45+
self.library_logger(Arc::new(InstrumentationLibrary::new(
46+
component_name,
47+
version,
48+
schema_url,
49+
attributes,
50+
)))
5551
}
5652

57-
fn library_logger(
58-
&self,
59-
library: Arc<InstrumentationLibrary>,
60-
include_trace_context: bool,
61-
) -> Self::Logger {
62-
Logger::new(library, Arc::downgrade(&self.inner), include_trace_context)
53+
fn library_logger(&self, library: Arc<InstrumentationLibrary>) -> Self::Logger {
54+
Logger::new(library, Arc::downgrade(&self.inner))
6355
}
6456
}
6557

@@ -182,7 +174,6 @@ impl Builder {
182174
///
183175
/// [`LogRecord`]: opentelemetry_api::logs::LogRecord
184176
pub struct Logger {
185-
include_trace_context: bool,
186177
instrumentation_lib: Arc<InstrumentationLibrary>,
187178
provider: Weak<LoggerProviderInner>,
188179
}
@@ -191,10 +182,8 @@ impl Logger {
191182
pub(crate) fn new(
192183
instrumentation_lib: Arc<InstrumentationLibrary>,
193184
provider: Weak<LoggerProviderInner>,
194-
include_trace_context: bool,
195185
) -> Self {
196186
Logger {
197-
include_trace_context,
198187
instrumentation_lib,
199188
provider,
200189
}
@@ -218,14 +207,10 @@ impl opentelemetry_api::logs::Logger for Logger {
218207
Some(provider) => provider,
219208
None => return,
220209
};
221-
let trace_context = if self.include_trace_context {
222-
Context::map_current(|cx| {
223-
cx.has_active_span()
224-
.then(|| TraceContext::from(cx.span().span_context()))
225-
})
226-
} else {
227-
None
228-
};
210+
let trace_context = Context::map_current(|cx| {
211+
cx.has_active_span()
212+
.then(|| TraceContext::from(cx.span().span_context()))
213+
});
229214
let config = provider.config();
230215
for processor in provider.log_processors() {
231216
let mut record = record.clone();

0 commit comments

Comments
 (0)