Skip to content

Commit

Permalink
move LogData from opentelemetry_sdk::exporter::logs to opentelemetry_…
Browse files Browse the repository at this point in the history
…sdk::logs namespace
  • Loading branch information
lalitb committed Aug 20, 2024
1 parent 4a95719 commit 4f6dde1
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 26 deletions.
4 changes: 2 additions & 2 deletions opentelemetry-appender-tracing/benches/logs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/benches/log.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/benches/log_exporter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
5 changes: 1 addition & 4 deletions opentelemetry-sdk/benches/log_processor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
10 changes: 0 additions & 10 deletions opentelemetry-sdk/src/export/logs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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>;
7 changes: 2 additions & 5 deletions opentelemetry-sdk/src/logs/log_emitter.rs
Original file line number Diff line number Diff line change
@@ -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},
Expand Down
6 changes: 4 additions & 2 deletions opentelemetry-sdk/src/logs/log_processor.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use crate::logs::LogData;
use crate::{
export::logs::{ExportResult, LogData, LogExporter},
export::logs::{ExportResult, LogExporter},
runtime::{RuntimeChannel, TrySend},
Resource,
};
Expand Down Expand Up @@ -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,
Expand Down
11 changes: 11 additions & 0 deletions opentelemetry-sdk/src/logs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion stress/src/logs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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(())
Expand Down

0 comments on commit 4f6dde1

Please sign in to comment.