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
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 @@

/// 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 @@
}

/// 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 {

Check warning on line 119 in opentelemetry-otlp/src/span.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/span.rs#L119

Added line #L119 was not covered by tests
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
7 changes: 7 additions & 0 deletions opentelemetry-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,13 @@ 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 Exporter authors only) Moved `ExportError` trait from `opentelemetry::export::ExportError` to `opentelemetry_sdk::ExportError`
- *Breaking (Affects custom SpanExporter, SpanProcessor authors only)*: Rename namespaces
before:
`opentelemetry_sdk::export::spans::{ExportResult, SpanData, SpanExporter};`
now:
`opentelemetry_sdk::logs::{ExportResult, SpanData, SpanExporter};`

- *Breaking (Affects custom LogExporter, LogProcessor authors only)*: Rename namespaces
before:
`opentelemetry_sdk::export::logs::{ExportResult, LogBatch, LogExporter};`
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
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
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::export::trace::{ExportResult, SpanData, SpanExporter};
use crate::resource::Resource;
use crate::trace::{ExportResult, SpanData, SpanExporter};
use futures_util::future::BoxFuture;
use opentelemetry::trace::{TraceError, TraceResult};
use std::sync::{Arc, Mutex};
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-sdk/src/testing/trace/span_exporters.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::{
export::trace::{ExportResult, SpanData, SpanExporter},
trace::{ExportResult, SpanData, SpanExporter},
trace::{SpanEvents, SpanLinks},
};
use futures_util::future::BoxFuture;
Expand Down Expand Up @@ -98,7 +98,7 @@ impl<T> From<tokio::sync::mpsc::error::SendError<T>> for TestExportError {

/// A no-op instance of an [`SpanExporter`].
///
/// [`SpanExporter`]: crate::export::trace::SpanExporter
/// [`SpanExporter`]: crate::trace::SpanExporter
#[derive(Debug, Default)]
pub struct NoopSpanExporter {
_private: (),
Expand Down
2 changes: 2 additions & 0 deletions opentelemetry-sdk/src/trace/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
//! * The [`TracerProvider`] struct which configures and produces [`Tracer`]s.
mod config;
mod events;
mod export;
mod id_generator;
mod links;
mod provider;
Expand All @@ -22,6 +23,7 @@ mod tracer;

pub use config::{config, Config};
pub use events::SpanEvents;
pub use export::{ExportResult, SpanData, SpanExporter};

pub use id_generator::{IdGenerator, RandomIdGenerator};
pub use links::SpanLinks;
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-sdk/src/trace/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ use crate::trace::{
BatchSpanProcessor, Config, RandomIdGenerator, Sampler, SimpleSpanProcessor, SpanLimits, Tracer,
};
use crate::Resource;
use crate::{export::trace::SpanExporter, trace::SpanProcessor};
use crate::{trace::SpanExporter, trace::SpanProcessor};
use opentelemetry::trace::TraceError;
use opentelemetry::{otel_debug, trace::TraceResult};
use opentelemetry::{otel_info, InstrumentationScope};
Expand Down Expand Up @@ -443,11 +443,11 @@ impl Builder {

#[cfg(test)]
mod tests {
use crate::export::trace::SpanData;
use crate::resource::{
SERVICE_NAME, TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_NAME, TELEMETRY_SDK_VERSION,
};
use crate::trace::provider::TracerProviderInner;
use crate::trace::SpanData;
use crate::trace::{Config, Span, SpanProcessor};
use crate::Resource;
use opentelemetry::trace::{TraceError, TraceResult, Tracer, TracerProvider};
Expand Down
9 changes: 3 additions & 6 deletions opentelemetry-sdk/src/trace/runtime_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
// need to run those tests one by one as the GlobalTracerProvider is a shared object between
// threads Use cargo test -- --ignored --test-threads=1 to run those tests.
#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
use crate::export::trace::{ExportResult, SpanExporter};
#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
use crate::runtime;
#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
use crate::runtime::RuntimeChannel;
#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
use crate::trace::{ExportResult, SpanExporter};
#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
use futures_util::future::BoxFuture;
#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
use opentelemetry::global::*;
Expand All @@ -28,10 +28,7 @@

#[cfg(any(feature = "rt-tokio", feature = "rt-tokio-current-thread"))]
impl SpanExporter for SpanCountExporter {
fn export(
&mut self,
batch: Vec<crate::export::trace::SpanData>,
) -> BoxFuture<'static, ExportResult> {
fn export(&mut self, batch: Vec<crate::trace::SpanData>) -> BoxFuture<'static, ExportResult> {

Check warning on line 31 in opentelemetry-sdk/src/trace/runtime_tests.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-sdk/src/trace/runtime_tests.rs#L31

Added line #L31 was not covered by tests
self.span_count.fetch_add(batch.len(), Ordering::SeqCst);
Box::pin(async { Ok(()) })
}
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/trace/sampler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ use opentelemetry_http::HttpClient;
/// [OpenTelemetry SDK]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampling
/// [`SpanContext`]: opentelemetry::trace::SpanContext
/// [`SpanContext::trace_flags()`]: opentelemetry::trace::SpanContext#method.trace_flags
/// [`SpanExporter`]: crate::export::trace::SpanExporter
/// [`SpanExporter`]: crate::trace::SpanExporter
/// [`SpanProcessor`]: crate::trace::SpanProcessor
/// [`Span`]: opentelemetry::trace::Span
/// [`Span::is_recording()`]: opentelemetry::trace::Span#tymethod.is_recording
Expand Down
6 changes: 3 additions & 3 deletions opentelemetry-sdk/src/trace/span.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ impl Span {
/// Convert information in this span into `exporter::trace::SpanData`.
/// This function copies all data from the current span, which will create a
/// overhead.
pub fn exported_data(&self) -> Option<crate::export::trace::SpanData> {
pub fn exported_data(&self) -> Option<crate::trace::SpanData> {
let (span_context, tracer) = (self.span_context.clone(), &self.tracer);

self.data
Expand Down Expand Up @@ -250,8 +250,8 @@ fn build_export_data(
data: SpanData,
span_context: SpanContext,
tracer: &crate::trace::Tracer,
) -> crate::export::trace::SpanData {
crate::export::trace::SpanData {
) -> crate::trace::SpanData {
crate::trace::SpanData {
span_context,
parent_span_id: data.parent_span_id,
span_kind: data.span_kind,
Expand Down
6 changes: 3 additions & 3 deletions opentelemetry-sdk/src/trace/span_processor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
//! [`is_recording`]: opentelemetry::trace::Span::is_recording()
//! [`TracerProvider`]: opentelemetry::trace::TracerProvider

use crate::export::trace::{SpanData, SpanExporter};
use crate::resource::Resource;
use crate::trace::Span;
use crate::trace::{SpanData, SpanExporter};
use opentelemetry::{otel_debug, otel_warn};
use opentelemetry::{otel_error, otel_info};
use opentelemetry::{
Expand Down Expand Up @@ -175,7 +175,7 @@ impl SpanProcessor for SimpleSpanProcessor {
}
}

use crate::export::trace::ExportResult;
use crate::trace::ExportResult;
/// The `BatchSpanProcessor` collects finished spans in a buffer and exports them
/// in batches to the configured `SpanExporter`. This processor is ideal for
/// high-throughput environments, as it minimizes the overhead of exporting spans
Expand Down Expand Up @@ -814,13 +814,13 @@ mod tests {
OTEL_BSP_MAX_EXPORT_BATCH_SIZE, OTEL_BSP_MAX_QUEUE_SIZE, OTEL_BSP_MAX_QUEUE_SIZE_DEFAULT,
OTEL_BSP_SCHEDULE_DELAY, OTEL_BSP_SCHEDULE_DELAY_DEFAULT,
};
use crate::export::trace::{ExportResult, SpanData, SpanExporter};
use crate::testing::trace::{new_test_export_span_data, InMemorySpanExporterBuilder};
use crate::trace::span_processor::{
OTEL_BSP_EXPORT_TIMEOUT_DEFAULT, OTEL_BSP_MAX_CONCURRENT_EXPORTS,
OTEL_BSP_MAX_CONCURRENT_EXPORTS_DEFAULT, OTEL_BSP_MAX_EXPORT_BATCH_SIZE_DEFAULT,
};
use crate::trace::{BatchConfig, BatchConfigBuilder, SpanEvents, SpanLinks};
use crate::trace::{ExportResult, SpanData, SpanExporter};
use opentelemetry::trace::{SpanContext, SpanId, SpanKind, Status};
use std::fmt::Debug;
use std::time::Duration;
Expand Down
Loading
Loading