From ecd8a21edaeac49401bdbd5bbf37906cfafb61e7 Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 26 Jul 2024 17:19:05 -0700 Subject: [PATCH 1/5] remove simple log processor --- opentelemetry-sdk/benches/log.rs | 46 ++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/opentelemetry-sdk/benches/log.rs b/opentelemetry-sdk/benches/log.rs index 8983a5ac99..61f9eff1ef 100644 --- a/opentelemetry-sdk/benches/log.rs +++ b/opentelemetry-sdk/benches/log.rs @@ -16,26 +16,62 @@ use opentelemetry::trace::Tracer; use opentelemetry::trace::TracerProvider as _; use opentelemetry::Key; use opentelemetry_sdk::export::logs::{LogData, LogExporter}; +use opentelemetry_sdk::logs::LogProcessor; use opentelemetry_sdk::logs::{Logger, LoggerProvider}; use opentelemetry_sdk::trace; use opentelemetry_sdk::trace::{Sampler, TracerProvider}; #[derive(Debug)] -struct VoidExporter; +struct NoopExporter; #[async_trait] -impl LogExporter for VoidExporter { - async fn export<'a>(&mut self, _batch: Vec>) -> LogResult<()> { +impl LogExporter for NoopExporter { + async fn export<'a>(&mut self, _: Vec>) -> LogResult<()> { LogResult::Ok(()) } } +#[derive(Debug)] +struct NoopProcessor { + exporter: Box, +} + +impl NoopProcessor { + fn new(exporter: Box) -> Self { + Self { exporter } + } +} + +impl LogProcessor for NoopProcessor { + fn emit(&self, _: &mut LogData) { + // no-op + } + + fn force_flush(&self) -> LogResult<()> { + Ok(()) + } + + fn shutdown(&self) -> LogResult<()> { + Ok(()) + } + + #[cfg(feature = "logs_level_enabled")] + fn event_enabled( + &self, + _level: opentelemetry::logs::Severity, + _target: &str, + _name: &str, + ) -> bool { + true + } +} + fn log_benchmark_group(c: &mut Criterion, name: &str, f: F) { let mut group = c.benchmark_group(name); group.bench_function("no-context", |b| { let provider = LoggerProvider::builder() - .with_simple_exporter(VoidExporter) + .with_log_processor(NoopProcessor::new(Box::new(NoopExporter))) .build(); let logger = provider.logger("no-context"); @@ -45,7 +81,7 @@ fn log_benchmark_group(c: &mut Criterion, name: &str, f: F) { group.bench_function("with-context", |b| { let provider = LoggerProvider::builder() - .with_simple_exporter(VoidExporter) + .with_log_processor(NoopProcessor::new(Box::new(NoopExporter))) .build(); let logger = provider.logger("with-context"); From b9e08e8668d0659bd08cbc21ef46b6427fc45a1c Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 26 Jul 2024 17:36:13 -0700 Subject: [PATCH 2/5] remove exporter call --- opentelemetry-sdk/benches/log.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/opentelemetry-sdk/benches/log.rs b/opentelemetry-sdk/benches/log.rs index 61f9eff1ef..a0be9f55a8 100644 --- a/opentelemetry-sdk/benches/log.rs +++ b/opentelemetry-sdk/benches/log.rs @@ -33,19 +33,19 @@ impl LogExporter for NoopExporter { #[derive(Debug)] struct NoopProcessor { - exporter: Box, + _exporter: Box, } impl NoopProcessor { fn new(exporter: Box) -> Self { - Self { exporter } + Self { + _exporter: exporter, + } } } impl LogProcessor for NoopProcessor { - fn emit(&self, _: &mut LogData) { - // no-op - } + fn emit(&self, _data: &mut LogData) {} fn force_flush(&self) -> LogResult<()> { Ok(()) From 18fb0c40e9cc5bbcc4acf40ccd87142983cda8ae Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 26 Jul 2024 18:09:13 -0700 Subject: [PATCH 3/5] remove exporter --- opentelemetry-sdk/benches/log.rs | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/opentelemetry-sdk/benches/log.rs b/opentelemetry-sdk/benches/log.rs index a0be9f55a8..8af36759d2 100644 --- a/opentelemetry-sdk/benches/log.rs +++ b/opentelemetry-sdk/benches/log.rs @@ -22,27 +22,7 @@ use opentelemetry_sdk::trace; use opentelemetry_sdk::trace::{Sampler, TracerProvider}; #[derive(Debug)] -struct NoopExporter; - -#[async_trait] -impl LogExporter for NoopExporter { - async fn export<'a>(&mut self, _: Vec>) -> LogResult<()> { - LogResult::Ok(()) - } -} - -#[derive(Debug)] -struct NoopProcessor { - _exporter: Box, -} - -impl NoopProcessor { - fn new(exporter: Box) -> Self { - Self { - _exporter: exporter, - } - } -} +struct NoopProcessor; impl LogProcessor for NoopProcessor { fn emit(&self, _data: &mut LogData) {} @@ -71,7 +51,7 @@ fn log_benchmark_group(c: &mut Criterion, name: &str, f: F) { group.bench_function("no-context", |b| { let provider = LoggerProvider::builder() - .with_log_processor(NoopProcessor::new(Box::new(NoopExporter))) + .with_log_processor(NoopProcessor {}) .build(); let logger = provider.logger("no-context"); @@ -81,7 +61,7 @@ fn log_benchmark_group(c: &mut Criterion, name: &str, f: F) { group.bench_function("with-context", |b| { let provider = LoggerProvider::builder() - .with_log_processor(NoopProcessor::new(Box::new(NoopExporter))) + .with_log_processor(NoopProcessor {}) .build(); let logger = provider.logger("with-context"); From 1c987677216cf72a2700a355e375e8d0e30dfb3d Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 26 Jul 2024 18:10:37 -0700 Subject: [PATCH 4/5] remove leftover includes --- opentelemetry-sdk/benches/log.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/opentelemetry-sdk/benches/log.rs b/opentelemetry-sdk/benches/log.rs index 8af36759d2..189f3de1ff 100644 --- a/opentelemetry-sdk/benches/log.rs +++ b/opentelemetry-sdk/benches/log.rs @@ -6,7 +6,6 @@ use std::collections::HashMap; use std::time::SystemTime; -use async_trait::async_trait; use criterion::{criterion_group, criterion_main, Criterion}; use opentelemetry::logs::{ @@ -15,7 +14,7 @@ use opentelemetry::logs::{ use opentelemetry::trace::Tracer; use opentelemetry::trace::TracerProvider as _; use opentelemetry::Key; -use opentelemetry_sdk::export::logs::{LogData, LogExporter}; +use opentelemetry_sdk::export::logs::LogData; use opentelemetry_sdk::logs::LogProcessor; use opentelemetry_sdk::logs::{Logger, LoggerProvider}; use opentelemetry_sdk::trace; From 807b6a5167bf056ebecae97b5a0322c5b55d4332 Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 26 Jul 2024 18:13:32 -0700 Subject: [PATCH 5/5] fix lint --- opentelemetry-sdk/src/trace/mod.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/opentelemetry-sdk/src/trace/mod.rs b/opentelemetry-sdk/src/trace/mod.rs index d6c4ceae2e..53c81d4895 100644 --- a/opentelemetry-sdk/src/trace/mod.rs +++ b/opentelemetry-sdk/src/trace/mod.rs @@ -3,8 +3,7 @@ //! The tracing SDK consist of a few main structs: //! //! * The [`Tracer`] struct which performs all tracing operations. -//! * The [`Span`] struct with is a mutable object storing information about the -//! current operation execution. +//! * The [`Span`] struct with is a mutable object storing information about the current operation execution. //! * The [`TracerProvider`] struct which configures and produces [`Tracer`]s. mod config; mod events;