diff --git a/opentelemetry-appender-tracing/benches/logs.rs b/opentelemetry-appender-tracing/benches/logs.rs index 3aa0100e47..2a81cb9b1d 100644 --- a/opentelemetry-appender-tracing/benches/logs.rs +++ b/opentelemetry-appender-tracing/benches/logs.rs @@ -18,8 +18,8 @@ use criterion::{criterion_group, criterion_main, Criterion}; use opentelemetry::logs::LogResult; use opentelemetry::KeyValue; use opentelemetry_appender_tracing::layer as tracing_layer; -use opentelemetry_sdk::export::logs::{LogData, LogExporter}; -use opentelemetry_sdk::logs::{LogProcessor, LoggerProvider}; +use opentelemetry_sdk::export::logs::LogExporter; +use opentelemetry_sdk::logs::{LogData, LogProcessor, LoggerProvider}; use opentelemetry_sdk::Resource; use pprof::criterion::{Output, PProfProfiler}; use tracing::error; diff --git a/opentelemetry-sdk/benches/log.rs b/opentelemetry-sdk/benches/log.rs index 71d5fc699f..840560a1f4 100644 --- a/opentelemetry-sdk/benches/log.rs +++ b/opentelemetry-sdk/benches/log.rs @@ -26,7 +26,7 @@ use opentelemetry::logs::{ use opentelemetry::trace::Tracer; use opentelemetry::trace::TracerProvider as _; use opentelemetry::Key; -use opentelemetry_sdk::export::logs::LogData; +use opentelemetry_sdk::logs::LogData; use opentelemetry_sdk::logs::LogProcessor; use opentelemetry_sdk::logs::{Logger, LoggerProvider}; use opentelemetry_sdk::trace; diff --git a/opentelemetry-sdk/benches/log_exporter.rs b/opentelemetry-sdk/benches/log_exporter.rs index 434fc11ae6..73fde7d61d 100644 --- a/opentelemetry-sdk/benches/log_exporter.rs +++ b/opentelemetry-sdk/benches/log_exporter.rs @@ -19,7 +19,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; use opentelemetry::logs::{LogRecord as _, LogResult, Logger as _, LoggerProvider as _, Severity}; use opentelemetry::InstrumentationLibrary; -use opentelemetry_sdk::export::logs::LogData; +use opentelemetry_sdk::logs::LogData; use opentelemetry_sdk::logs::LogProcessor; use opentelemetry_sdk::logs::LogRecord; use opentelemetry_sdk::logs::LoggerProvider; diff --git a/opentelemetry-sdk/benches/log_processor.rs b/opentelemetry-sdk/benches/log_processor.rs index fcb729318c..7e78897669 100644 --- a/opentelemetry-sdk/benches/log_processor.rs +++ b/opentelemetry-sdk/benches/log_processor.rs @@ -19,10 +19,7 @@ use std::{ use criterion::{criterion_group, criterion_main, Criterion}; use opentelemetry::logs::{LogRecord as _, LogResult, Logger as _, LoggerProvider as _, Severity}; -use opentelemetry_sdk::{ - export::logs::LogData, - logs::{LogProcessor, LogRecord, Logger, LoggerProvider}, -}; +use opentelemetry_sdk::logs::{LogData, LogProcessor, LogRecord, Logger, LoggerProvider}; use std::borrow::Cow; // Run this benchmark with: diff --git a/opentelemetry-sdk/src/export/logs/mod.rs b/opentelemetry-sdk/src/export/logs/mod.rs index 216d813bbf..b254bd3e55 100644 --- a/opentelemetry-sdk/src/export/logs/mod.rs +++ b/opentelemetry-sdk/src/export/logs/mod.rs @@ -8,7 +8,6 @@ use opentelemetry::{ logs::{LogError, LogResult}, InstrumentationLibrary, }; -use std::borrow::Cow; use std::fmt::Debug; /// `LogExporter` defines the interface that log exporters should implement. @@ -31,14 +30,5 @@ pub trait LogExporter: Send + Sync + Debug { fn set_resource(&mut self, _resource: &Resource) {} } -/// `LogData` represents a single log event without resource context. -#[derive(Clone, Debug)] -pub struct LogData<'a> { - /// Log record, which can be borrowed or owned. - pub record: Cow<'a, LogRecord>, - /// Instrumentation details for the emitter who produced this `LogEvent`. - pub instrumentation: Cow<'a, InstrumentationLibrary>, -} - /// Describes the result of an export. pub type ExportResult = Result<(), LogError>; diff --git a/opentelemetry-sdk/src/logs/log_emitter.rs b/opentelemetry-sdk/src/logs/log_emitter.rs index 604a1799e5..ff4f7b57ba 100644 --- a/opentelemetry-sdk/src/logs/log_emitter.rs +++ b/opentelemetry-sdk/src/logs/log_emitter.rs @@ -1,9 +1,6 @@ use super::{BatchLogProcessor, LogProcessor, LogRecord, SimpleLogProcessor, TraceContext}; -use crate::{ - export::logs::{LogData, LogExporter}, - runtime::RuntimeChannel, - Resource, -}; +use crate::logs::LogData; +use crate::{export::logs::LogExporter, runtime::RuntimeChannel, Resource}; use opentelemetry::{ global, logs::{LogError, LogResult}, diff --git a/opentelemetry-sdk/src/logs/log_processor.rs b/opentelemetry-sdk/src/logs/log_processor.rs index 9bdd493b8a..072e350ca4 100644 --- a/opentelemetry-sdk/src/logs/log_processor.rs +++ b/opentelemetry-sdk/src/logs/log_processor.rs @@ -1,5 +1,6 @@ +use crate::logs::LogData; use crate::{ - export::logs::{ExportResult, LogData, LogExporter}, + export::logs::{ExportResult, LogExporter}, runtime::{RuntimeChannel, TrySend}, Resource, }; @@ -518,10 +519,11 @@ mod tests { BatchLogProcessor, OTEL_BLRP_EXPORT_TIMEOUT, OTEL_BLRP_MAX_EXPORT_BATCH_SIZE, OTEL_BLRP_MAX_QUEUE_SIZE, OTEL_BLRP_SCHEDULE_DELAY, }; + use crate::logs::LogData; use crate::logs::LogRecord; use crate::testing::logs::InMemoryLogsExporterBuilder; use crate::{ - export::logs::{LogData, LogExporter}, + export::logs::LogExporter, logs::{ log_processor::{ OTEL_BLRP_EXPORT_TIMEOUT_DEFAULT, OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT, diff --git a/opentelemetry-sdk/src/logs/mod.rs b/opentelemetry-sdk/src/logs/mod.rs index 5d2e72719b..92e384ee41 100644 --- a/opentelemetry-sdk/src/logs/mod.rs +++ b/opentelemetry-sdk/src/logs/mod.rs @@ -4,12 +4,23 @@ mod log_emitter; mod log_processor; mod record; +use crate::InstrumentationLibrary; pub use log_emitter::{Builder, Logger, LoggerProvider}; pub use log_processor::{ BatchConfig, BatchConfigBuilder, BatchLogProcessor, BatchLogProcessorBuilder, LogProcessor, SimpleLogProcessor, }; pub use record::{LogRecord, TraceContext}; +use std::borrow::Cow; + +/// `LogData` represents a single log event without resource context. +#[derive(Clone, Debug)] +pub struct LogData<'a> { + /// Log record, which can be borrowed or owned. + pub record: Cow<'a, LogRecord>, + /// Instrumentation details for the emitter who produced this `LogEvent`. + pub instrumentation: Cow<'a, InstrumentationLibrary>, +} #[cfg(all(test, feature = "testing"))] mod tests { diff --git a/stress/src/logs.rs b/stress/src/logs.rs index 6cec97463c..1798401e32 100644 --- a/stress/src/logs.rs +++ b/stress/src/logs.rs @@ -20,7 +20,7 @@ mod throughput; pub struct NoOpLogProcessor; impl LogProcessor for NoOpLogProcessor { - fn emit(&self, _data: &mut opentelemetry_sdk::export::logs::LogData) {} + fn emit(&self, _data: &mut opentelemetry_sdk::logs::LogData) {} fn force_flush(&self) -> opentelemetry::logs::LogResult<()> { Ok(())