Skip to content

Commit 3b8929f

Browse files
committed
add test
1 parent cc2f09f commit 3b8929f

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

opentelemetry-sdk/src/logs/mod.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,4 +212,31 @@ mod tests {
212212
&AnyValue::String("value-from-bag".into())
213213
));
214214
}
215+
216+
#[test]
217+
fn log_suppression() {
218+
// Arrange
219+
let exporter: InMemoryLogExporter = InMemoryLogExporter::default();
220+
let logger_provider = SdkLoggerProvider::builder()
221+
.with_simple_exporter(exporter.clone())
222+
.build();
223+
224+
// Act
225+
let logger = logger_provider.logger("test-logger");
226+
let mut log_record = logger.create_log_record();
227+
log_record.set_severity_number(Severity::Error);
228+
229+
{
230+
let _suppressed_context = Context::enter_telemetry_suppressed_scope();
231+
logger.emit(log_record);
232+
}
233+
234+
// Assert
235+
let exported_logs = exporter.get_emitted_logs().expect("this should not fail.");
236+
assert_eq!(
237+
exported_logs.len(),
238+
0,
239+
"There should be a no logs as log emission is done inside a suppressed context"
240+
);
241+
}
215242
}

opentelemetry-sdk/src/trace/mod.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,4 +533,30 @@ mod tests {
533533
let tracer2 = tracer_provider.tracer_with_scope(tracer_scope);
534534
tracer_name_retained_helper(tracer2, tracer_provider, exporter).await;
535535
}
536+
537+
#[test]
538+
fn trace_suppression() {
539+
// Arrange
540+
let exporter = InMemorySpanExporter::default();
541+
let span_processor = SimpleSpanProcessor::new(exporter.clone());
542+
let tracer_provider = SdkTracerProvider::builder()
543+
.with_span_processor(span_processor)
544+
.build();
545+
546+
// Act
547+
let tracer = tracer_provider.tracer("test");
548+
{
549+
let _suppressed_context = Context::enter_telemetry_suppressed_scope();
550+
let span = tracer.span_builder("span_name").start(&tracer);
551+
drop(span);
552+
}
553+
554+
// Assert
555+
let finished_spans = exporter.get_finished_spans().expect("this should not fail");
556+
assert_eq!(
557+
finished_spans.len(),
558+
0,
559+
"There should be a no spans as span emission is done inside a suppressed context"
560+
);
561+
}
536562
}

0 commit comments

Comments
 (0)