Skip to content

Commit fd77020

Browse files
committed
modify stress test
1 parent 127fffb commit fd77020

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

stress/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ tracing-subscriber = { workspace = true, features = ["registry", "std"] }
5252
num-format = "0.4.4"
5353
sysinfo = { version = "0.32", optional = true }
5454
libc = "=0.2.164" # https://github.com/GuillaumeGomez/sysinfo/issues/1392
55-
55+
async-trait = "0.1.51"
5656
[features]
5757
stats = ["sysinfo"]

stress/src/logs.rs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,33 @@
1111

1212
use opentelemetry::InstrumentationScope;
1313
use opentelemetry_appender_tracing::layer;
14-
use opentelemetry_sdk::logs::{LogProcessor, LoggerProvider};
14+
use opentelemetry_sdk::export::logs::{LogBatch, LogExporter};
15+
use opentelemetry_sdk::logs::{LogProcessor, LogRecord, LogResult, LoggerProvider};
1516
use tracing::error;
1617
use tracing_subscriber::prelude::*;
1718

1819
mod throughput;
20+
use async_trait::async_trait;
21+
22+
#[derive(Debug, Clone)]
23+
struct NoopExporter;
24+
25+
#[async_trait]
26+
impl LogExporter for NoopExporter {
27+
async fn export(&self, _: LogBatch<'_>) -> LogResult<()> {
28+
LogResult::Ok(())
29+
}
30+
}
1931

2032
#[derive(Debug)]
21-
pub struct NoOpLogProcessor;
33+
pub struct NoOpLogProcessor {
34+
exporter: NoopExporter,
35+
}
2236

2337
impl LogProcessor for NoOpLogProcessor {
24-
fn emit(
25-
&self,
26-
_record: &mut opentelemetry_sdk::logs::LogRecord,
27-
_scope: &InstrumentationScope,
28-
) {
38+
fn emit(&self, record: &mut opentelemetry_sdk::logs::LogRecord, scope: &InstrumentationScope) {
39+
let log_tuple = &[(record as &LogRecord, scope)];
40+
let _ = self.exporter.export(LogBatch::new(log_tuple));
2941
}
3042

3143
fn force_flush(&self) -> opentelemetry_sdk::logs::LogResult<()> {
@@ -40,7 +52,9 @@ impl LogProcessor for NoOpLogProcessor {
4052
fn main() {
4153
// LoggerProvider with a no-op processor.
4254
let provider: LoggerProvider = LoggerProvider::builder()
43-
.with_log_processor(NoOpLogProcessor {})
55+
.with_log_processor(NoOpLogProcessor {
56+
exporter: NoopExporter {},
57+
})
4458
.build();
4559

4660
// Use the OpenTelemetryTracingBridge to test the throughput of the appender-tracing.

0 commit comments

Comments
 (0)