Skip to content

Commit

Permalink
Merge branch 'main' into more-inttests
Browse files Browse the repository at this point in the history
  • Loading branch information
lalitb authored Jan 24, 2025
2 parents 4ce76df + fdf4a63 commit 0902017
Show file tree
Hide file tree
Showing 44 changed files with 103 additions and 90 deletions.
2 changes: 1 addition & 1 deletion opentelemetry-appender-log/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@ mod tests {
use super::OpenTelemetryLogBridge;

use opentelemetry::{logs::AnyValue, StringValue};
use opentelemetry_sdk::{logs::LoggerProvider, testing::logs::InMemoryLogExporter};
use opentelemetry_sdk::{logs::InMemoryLogExporter, logs::LoggerProvider};

use log::Log;

Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-appender-tracing/src/layer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -213,9 +213,9 @@ mod tests {
use opentelemetry::trace::TracerProvider as _;
use opentelemetry::trace::{TraceContextExt, TraceFlags, Tracer};
use opentelemetry::{logs::AnyValue, Key};
use opentelemetry_sdk::logs::InMemoryLogExporter;
use opentelemetry_sdk::logs::{LogBatch, LogExporter};
use opentelemetry_sdk::logs::{LogRecord, LogResult, LoggerProvider};
use opentelemetry_sdk::testing::logs::InMemoryLogExporter;
use opentelemetry_sdk::trace::{Sampler, TracerProvider};
use tracing::{error, warn};
use tracing_subscriber::prelude::__tracing_subscriber_SubscriberExt;
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-otlp/src/exporter/http/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ use opentelemetry_proto::transform::common::tonic::ResourceAttributesWithSchema;
use opentelemetry_proto::transform::logs::tonic::group_logs_by_resource_and_scope;
#[cfg(feature = "trace")]
use opentelemetry_proto::transform::trace::tonic::group_spans_by_resource_and_scope;
#[cfg(feature = "trace")]
use opentelemetry_sdk::export::trace::SpanData;
#[cfg(feature = "logs")]
use opentelemetry_sdk::logs::LogBatch;
#[cfg(feature = "trace")]
use opentelemetry_sdk::trace::SpanData;
use prost::Message;
use std::collections::HashMap;
use std::env;
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-otlp/src/exporter/http/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::sync::Arc;
use futures_core::future::BoxFuture;
use http::{header::CONTENT_TYPE, Method};
use opentelemetry::{otel_debug, trace::TraceError};
use opentelemetry_sdk::export::trace::{ExportResult, SpanData, SpanExporter};
use opentelemetry_sdk::trace::{ExportResult, SpanData, SpanExporter};

use super::OtlpHttpClient;

Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-otlp/src/exporter/tonic/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use opentelemetry::{otel_debug, trace::TraceError};
use opentelemetry_proto::tonic::collector::trace::v1::{
trace_service_client::TraceServiceClient, ExportTraceServiceRequest,
};
use opentelemetry_sdk::export::trace::{ExportResult, SpanData, SpanExporter};
use opentelemetry_sdk::trace::{ExportResult, SpanData, SpanExporter};
use tonic::{codegen::CompressionEncoding, service::Interceptor, transport::Channel, Request};

use opentelemetry_proto::transform::trace::tonic::group_spans_by_resource_and_scope;
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-otlp/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ pub use crate::exporter::{
OTEL_EXPORTER_OTLP_TIMEOUT_DEFAULT,
};

use opentelemetry_sdk::export::ExportError;
use opentelemetry_sdk::ExportError;

/// Type to indicate the builder does not have a client set.
#[derive(Debug, Default, Clone)]
Expand Down
8 changes: 4 additions & 4 deletions opentelemetry-otlp/src/span.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use std::fmt::Debug;

use futures_core::future::BoxFuture;
use opentelemetry_sdk::export::trace::{ExportResult, SpanData};
use opentelemetry_sdk::trace::{ExportResult, SpanData};

#[cfg(feature = "grpc-tonic")]
use crate::{
Expand Down Expand Up @@ -107,7 +107,7 @@ impl HasHttpConfig for SpanExporterBuilder<HttpExporterBuilderSet> {

/// OTLP exporter that sends tracing information
#[derive(Debug)]
pub struct SpanExporter(Box<dyn opentelemetry_sdk::export::trace::SpanExporter>);
pub struct SpanExporter(Box<dyn opentelemetry_sdk::trace::SpanExporter>);

impl SpanExporter {
/// Obtain a builder to configure a [SpanExporter].
Expand All @@ -116,12 +116,12 @@ impl SpanExporter {
}

/// Build a new span exporter from a client
pub fn new(client: impl opentelemetry_sdk::export::trace::SpanExporter + 'static) -> Self {
pub fn new(client: impl opentelemetry_sdk::trace::SpanExporter + 'static) -> Self {
SpanExporter(Box::new(client))
}
}

impl opentelemetry_sdk::export::trace::SpanExporter for SpanExporter {
impl opentelemetry_sdk::trace::SpanExporter for SpanExporter {
fn export(&mut self, batch: Vec<SpanData>) -> BoxFuture<'static, ExportResult> {
self.0.export(batch)
}
Expand Down
8 changes: 4 additions & 4 deletions opentelemetry-proto/src/transform/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ pub mod tonic {
};
use opentelemetry::trace;
use opentelemetry::trace::{Link, SpanId, SpanKind};
use opentelemetry_sdk::export::trace::SpanData;
use opentelemetry_sdk::trace::SpanData;
use std::collections::HashMap;

impl From<SpanKind> for span::SpanKind {
Expand Down Expand Up @@ -45,8 +45,8 @@ pub mod tonic {
}
}
}
impl From<opentelemetry_sdk::export::trace::SpanData> for Span {
fn from(source_span: opentelemetry_sdk::export::trace::SpanData) -> Self {
impl From<opentelemetry_sdk::trace::SpanData> for Span {
fn from(source_span: opentelemetry_sdk::trace::SpanData) -> Self {
let span_kind: span::SpanKind = source_span.span_kind.into();
Span {
trace_id: source_span.span_context.trace_id().to_bytes().to_vec(),
Expand Down Expand Up @@ -198,8 +198,8 @@ mod tests {
};
use opentelemetry::InstrumentationScope;
use opentelemetry::KeyValue;
use opentelemetry_sdk::export::trace::SpanData;
use opentelemetry_sdk::resource::Resource;
use opentelemetry_sdk::trace::SpanData;
use opentelemetry_sdk::trace::{SpanEvents, SpanLinks};
use std::borrow::Cow;
use std::time::{Duration, SystemTime};
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-proto/src/transform/tracez.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#[cfg(all(feature = "gen-tonic-messages", feature = "zpages"))]
mod tonic {
use opentelemetry::trace::{Event, Status};
use opentelemetry_sdk::export::trace::SpanData;
use opentelemetry_sdk::trace::SpanData;

use crate::proto::tonic::{
trace::v1::{span::Event as SpanEvent, Status as SpanStatus},
Expand Down
16 changes: 15 additions & 1 deletion opentelemetry-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,12 +268,26 @@ hardcoded limit of 2000 and no ability to change it. This feature will be
re-introduced in a future date, along with the ability to change the cardinality
limit.

- *Breaking (Affects custom LogExporter, LogProcessor authors only)*: Rename namespaces

- *Breaking* (Affects custom Exporter authors only) Moved `ExportError` trait from `opentelemetry::export::ExportError` to `opentelemetry_sdk::ExportError`
- *Breaking (Affects custom SpanExporter, SpanProcessor authors only)*: Rename namespaces for Span exporter structs/traits
before:
`opentelemetry_sdk::export::spans::{ExportResult, SpanData, SpanExporter};`
now:
`opentelemetry_sdk::spans::{ExportResult, SpanData, SpanExporter};`

- *Breaking (Affects custom LogExporter, LogProcessor authors only)*: Rename namespaces for Log exporter structs/traits.
before:
`opentelemetry_sdk::export::logs::{ExportResult, LogBatch, LogExporter};`
now:
`opentelemetry_sdk::logs::{ExportResult, LogBatch, LogExporter};`

- *Breaking*: Rename namespaces for InMemoryExporters. (The module is still under "testing" feature flag)
before:
`opentelemetry_sdk::testing::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};`
now:
`opentelemetry_sdk::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};`

## 0.27.1

Released 2024-Nov-27
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/benches/batch_span_processor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
use opentelemetry::trace::{
SpanContext, SpanId, SpanKind, Status, TraceFlags, TraceId, TraceState,
};
use opentelemetry_sdk::export::trace::SpanData;
use opentelemetry_sdk::testing::trace::NoopSpanExporter;
use opentelemetry_sdk::trace::SpanData;
use opentelemetry_sdk::trace::{
BatchConfigBuilder, BatchSpanProcessor, SpanEvents, SpanLinks, SpanProcessor,
};
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/benches/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use opentelemetry::{
Context, ContextGuard,
};
use opentelemetry_sdk::{
export::trace::{ExportResult, SpanData, SpanExporter},
trace::{ExportResult, SpanData, SpanExporter},
trace::{Sampler, TracerProvider},
};
#[cfg(not(target_os = "windows"))]
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/benches/span_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ use opentelemetry::{
KeyValue,
};
use opentelemetry_sdk::{
export::trace::{ExportResult, SpanData, SpanExporter},
trace as sdktrace,
trace::{ExportResult, SpanData, SpanExporter},
};
#[cfg(not(target_os = "windows"))]
use pprof::criterion::{Output, PProfProfiler};
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/benches/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ use opentelemetry::{
KeyValue,
};
use opentelemetry_sdk::{
export::trace::{ExportResult, SpanData, SpanExporter},
trace as sdktrace,
trace::{ExportResult, SpanData, SpanExporter},
};
#[cfg(not(target_os = "windows"))]
use pprof::criterion::{Output, PProfProfiler};
Expand Down
6 changes: 6 additions & 0 deletions opentelemetry-sdk/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,9 @@ impl<T> From<PoisonError<T>> for Error {
Error::Other(err.to_string())
}
}

/// Trait for errors returned by exporters
pub trait ExportError: std::error::Error + Send + Sync + 'static {
/// The name of exporter that returned this error
fn exporter_name(&self) -> &'static str;
}
11 changes: 0 additions & 11 deletions opentelemetry-sdk/src/export/mod.rs

This file was deleted.

4 changes: 2 additions & 2 deletions opentelemetry-sdk/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
//!
//! fn main() {
//! // Choose an exporter like `opentelemetry_stdout::SpanExporter`
//! # fn example<T: opentelemetry_sdk::export::trace::SpanExporter + 'static>(new_exporter: impl Fn() -> T) {
//! # fn example<T: opentelemetry_sdk::trace::SpanExporter + 'static>(new_exporter: impl Fn() -> T) {
//! let exporter = new_exporter();
//!
//! // Create a new trace pipeline that prints to stdout
Expand Down Expand Up @@ -118,7 +118,6 @@
)]
#![cfg_attr(test, deny(warnings))]

pub mod export;
pub(crate) mod growable_array;

#[cfg(feature = "logs")]
Expand Down Expand Up @@ -149,3 +148,4 @@ pub mod util;
pub use resource::Resource;

pub mod error;
pub use error::ExportError;
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/logs/error.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::export::ExportError;
use crate::ExportError;

use std::{sync::PoisonError, time::Duration};
use thiserror::Error;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use std::sync::{Arc, Mutex};
/// ```no_run
///# use opentelemetry_sdk::logs::{BatchLogProcessor, LoggerProvider};
///# use opentelemetry_sdk::runtime;
///# use opentelemetry_sdk::testing::logs::InMemoryLogExporter;
///# use opentelemetry_sdk::logs::InMemoryLogExporter;
///
///# #[tokio::main]
///# async fn main() {
Expand Down Expand Up @@ -72,7 +72,7 @@ pub struct LogDataWithResource {
/// # Example
///
/// ```no_run
///# use opentelemetry_sdk::testing::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};
///# use opentelemetry_sdk::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};
///# use opentelemetry_sdk::logs::{BatchLogProcessor, LoggerProvider};
///# use opentelemetry_sdk::runtime;
///
Expand Down Expand Up @@ -139,7 +139,7 @@ impl InMemoryLogExporter {
/// # Example
///
/// ```
/// use opentelemetry_sdk::testing::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};
/// use opentelemetry_sdk::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};
///
/// let exporter = InMemoryLogExporterBuilder::default().build();
/// let emitted_logs = exporter.get_emitted_logs().unwrap();
Expand All @@ -164,7 +164,7 @@ impl InMemoryLogExporter {
/// # Example
///
/// ```
/// use opentelemetry_sdk::testing::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};
/// use opentelemetry_sdk::logs::{InMemoryLogExporter, InMemoryLogExporterBuilder};
///
/// let exporter = InMemoryLogExporterBuilder::default().build();
/// exporter.reset();
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/logs/log_emitter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -333,10 +333,10 @@ impl opentelemetry::logs::Logger for Logger {
#[cfg(test)]
mod tests {
use crate::{
logs::InMemoryLogExporter,
resource::{
SERVICE_NAME, TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_NAME, TELEMETRY_SDK_VERSION,
},
testing::logs::InMemoryLogExporter,
trace::TracerProvider,
Resource,
};
Expand Down
9 changes: 4 additions & 5 deletions opentelemetry-sdk/src/logs/log_processor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ pub trait LogProcessor: Send + Sync + Debug {
/// ```rust
/// use opentelemetry_sdk::logs::{SimpleLogProcessor, LoggerProvider, LogExporter};
/// use opentelemetry::global;
/// use opentelemetry_sdk::testing::logs::InMemoryLogExporter;
/// use opentelemetry_sdk::logs::InMemoryLogExporter;
///
/// let exporter = InMemoryLogExporter::default(); // Replace with an actual exporter
/// let provider = LoggerProvider::builder()
Expand Down Expand Up @@ -246,7 +246,7 @@ type LogsData = Box<(LogRecord, InstrumentationScope)>;
/// use opentelemetry_sdk::logs::{BatchLogProcessor, BatchConfigBuilder, LoggerProvider};
/// use opentelemetry::global;
/// use std::time::Duration;
/// use opentelemetry_sdk::testing::logs::InMemoryLogExporter;
/// use opentelemetry_sdk::logs::InMemoryLogExporter;
///
/// let exporter = InMemoryLogExporter::default(); // Replace with an actual exporter
/// let processor = BatchLogProcessor::builder(exporter)
Expand Down Expand Up @@ -818,16 +818,15 @@ mod tests {
};
use crate::logs::LogResult;
use crate::logs::{LogBatch, LogExporter, LogRecord};
use crate::testing::logs::InMemoryLogExporterBuilder;
use crate::{
logs::{
log_processor::{
OTEL_BLRP_EXPORT_TIMEOUT_DEFAULT, OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT,
OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT, OTEL_BLRP_SCHEDULE_DELAY_DEFAULT,
},
BatchConfig, BatchConfigBuilder, LogProcessor, LoggerProvider, SimpleLogProcessor,
BatchConfig, BatchConfigBuilder, InMemoryLogExporter, InMemoryLogExporterBuilder,
LogProcessor, LoggerProvider, SimpleLogProcessor,
},
testing::logs::InMemoryLogExporter,
Resource,
};
use opentelemetry::logs::AnyValue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,20 +286,20 @@ mod tests {
OTEL_BLRP_SCHEDULE_DELAY,
};
use crate::logs::log_processor_with_async_runtime::BatchLogProcessor;
use crate::logs::InMemoryLogExporterBuilder;
use crate::logs::LogRecord;
use crate::logs::LogResult;
use crate::logs::{LogBatch, LogExporter};
use crate::runtime;
use crate::testing::logs::InMemoryLogExporterBuilder;
use crate::{
logs::{
log_processor::{
OTEL_BLRP_EXPORT_TIMEOUT_DEFAULT, OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT,
OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT, OTEL_BLRP_SCHEDULE_DELAY_DEFAULT,
},
BatchConfig, BatchConfigBuilder, LogProcessor, LoggerProvider, SimpleLogProcessor,
BatchConfig, BatchConfigBuilder, InMemoryLogExporter, LogProcessor, LoggerProvider,
SimpleLogProcessor,
},
testing::logs::InMemoryLogExporter,
Resource,
};
use opentelemetry::logs::AnyValue;
Expand Down
9 changes: 8 additions & 1 deletion opentelemetry-sdk/src/logs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ mod log_emitter;
mod log_processor;
pub(crate) mod record;

/// In-Memory log exporter for testing purpose.
#[cfg(any(feature = "testing", test))]
#[cfg_attr(docsrs, doc(cfg(any(feature = "testing", test))))]
pub mod in_memory_exporter;
#[cfg(any(feature = "testing", test))]
#[cfg_attr(docsrs, doc(cfg(any(feature = "testing", test))))]
pub use in_memory_exporter::{InMemoryLogExporter, InMemoryLogExporterBuilder};

pub use error::{LogError, LogResult};
pub use export::{ExportResult, LogBatch, LogExporter};
pub use log_emitter::{Builder, Logger, LoggerProvider};
Expand All @@ -21,7 +29,6 @@ pub mod log_processor_with_async_runtime;
#[cfg(all(test, feature = "testing"))]
mod tests {
use super::*;
use crate::testing::logs::InMemoryLogExporter;
use crate::Resource;
use opentelemetry::logs::LogRecord;
use opentelemetry::logs::{Logger, LoggerProvider as _, Severity};
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/metrics/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::result;
use std::sync::PoisonError;
use thiserror::Error;

use crate::export::ExportError;
use crate::ExportError;

/// A specialized `Result` type for metric operations.
pub type MetricResult<T> = result::Result<T, MetricError>;
Expand Down
6 changes: 0 additions & 6 deletions opentelemetry-sdk/src/testing/logs/mod.rs

This file was deleted.

Loading

0 comments on commit 0902017

Please sign in to comment.