Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions opentelemetry-otlp/src/exporter/http/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1038,15 +1038,15 @@ mod tests {
use std::time::{Duration, SystemTime};

let span_context = SpanContext::new(
TraceId::from_u128(123),
SpanId::from_u64(456),
TraceId::from(123),
SpanId::from(456),
TraceFlags::default(),
false,
TraceState::default(),
);
SpanData {
span_context,
parent_span_id: SpanId::from_u64(0),
parent_span_id: SpanId::from(0),
span_kind: SpanKind::Internal,
name: Cow::Borrowed("test_span"),
start_time: SystemTime::UNIX_EPOCH,
Expand Down
6 changes: 6 additions & 0 deletions opentelemetry-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
- **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.
- **Feature**: Added `Clone` implementation to `SdkLogger` for API consistency with `SdkTracer` ([#3058](https://github.com/open-telemetry/opentelemetry-rust/issues/3058)).
- **Fix**: batch size accounting in BatchSpanProcessor when queue is full ([#3089](https://github.com/open-telemetry/opentelemetry-rust/pull/3089)).
- **Fix**: Resolved dependency issue where the "logs" feature incorrectly
required the "trace" feature flag
([#3096](https://github.com/open-telemetry/opentelemetry-rust/issues/3096)).
The logs functionality now operates independently, while automatic correlation
between logs and traces continues to work when the "trace" feature is
explicitly enabled.

## 0.30.0

Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ pprof = { version = "0.14", features = ["flamegraph", "criterion"] }
default = ["trace", "metrics", "logs", "internal-logs"]
trace = ["opentelemetry/trace", "rand", "percent-encoding"]
jaeger_remote_sampler = ["trace", "opentelemetry-http", "http", "serde", "serde_json", "url", "experimental_async_runtime"]
logs = ["opentelemetry/logs", "opentelemetry/trace", "serde_json"]
logs = ["opentelemetry/logs", "serde_json"]
spec_unstable_logs_enabled = ["logs", "opentelemetry/spec_unstable_logs_enabled"]
metrics = ["opentelemetry/metrics"]
testing = ["opentelemetry/testing", "trace", "metrics", "logs", "rt-tokio", "rt-tokio-current-thread", "tokio/macros", "tokio/rt-multi-thread"]
Expand Down
9 changes: 7 additions & 2 deletions opentelemetry-sdk/src/logs/logger.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
use super::{SdkLogRecord, SdkLoggerProvider, TraceContext};
use opentelemetry::{trace::TraceContextExt, Context, InstrumentationScope};
#[cfg(feature = "trace")]
use super::TraceContext;
use super::{SdkLogRecord, SdkLoggerProvider};
#[cfg(feature = "trace")]
use opentelemetry::trace::TraceContextExt;
use opentelemetry::{Context, InstrumentationScope};

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

//let mut log_record = record;
if record.trace_context.is_none() {
#[cfg(feature = "trace")]
Context::map_current(|cx| {
cx.has_active_span().then(|| {
record.trace_context = Some(TraceContext::from(cx.span().span_context()))
Expand Down
16 changes: 10 additions & 6 deletions opentelemetry-sdk/src/logs/logger_provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -283,21 +283,24 @@ impl LoggerProviderBuilder {

#[cfg(test)]
mod tests {
#[cfg(feature = "trace")]
use crate::logs::TraceContext;
#[cfg(feature = "trace")]
use crate::trace::SdkTracerProvider;
use crate::{
logs::{InMemoryLogExporter, LogBatch, SdkLogRecord, TraceContext},
logs::{InMemoryLogExporter, LogBatch, SdkLogRecord},
resource::{
SERVICE_NAME, TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_NAME, TELEMETRY_SDK_VERSION,
},
trace::SdkTracerProvider,
Resource,
};

use super::*;
use opentelemetry::logs::{AnyValue, LogRecord as _, Logger, LoggerProvider};
#[cfg(feature = "trace")]
use opentelemetry::trace::TraceContextExt;
#[cfg(feature = "trace")]
use opentelemetry::trace::{SpanId, TraceId, Tracer as _, TracerProvider};
use opentelemetry::{
logs::{AnyValue, LogRecord as _, Logger, LoggerProvider},
trace::TraceContextExt,
};
use opentelemetry::{Key, KeyValue, Value};
use std::fmt::{Debug, Formatter};
use std::sync::atomic::AtomicU64;
Expand Down Expand Up @@ -591,6 +594,7 @@ mod tests {
}

#[test]
#[cfg(feature = "trace")]
fn trace_context_test() {
let exporter = InMemoryLogExporter::default();

Expand Down
6 changes: 4 additions & 2 deletions opentelemetry-sdk/src/logs/record.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
use crate::growable_array::GrowableArray;
#[cfg(feature = "trace")]
use opentelemetry::trace::SpanContext;
use opentelemetry::{
logs::{AnyValue, Severity},
trace::{SpanContext, SpanId, TraceFlags, TraceId},
Key,
Key, SpanId, TraceFlags, TraceId,
};
use std::{borrow::Cow, time::SystemTime};

Expand Down Expand Up @@ -216,6 +217,7 @@ pub struct TraceContext {
pub trace_flags: Option<TraceFlags>,
}

#[cfg(feature = "trace")]
impl From<&SpanContext> for TraceContext {
fn from(span_context: &SpanContext) -> Self {
TraceContext {
Expand Down
Loading