Skip to content

Commit 67bf11d

Browse files
authored
UserEvent LogExporter - better internal logs (#180)
1 parent 0f586d2 commit 67bf11d

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

opentelemetry-user-events-logs/src/logs/exporter.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use eventheader::{FieldFormat, Level, Opcode};
22
use eventheader_dynamic::EventBuilder;
3-
use opentelemetry::otel_debug;
3+
use opentelemetry::{otel_debug, otel_info};
44
use std::borrow::Cow;
55
use std::collections::HashMap;
66
use std::fmt::Debug;
@@ -342,8 +342,17 @@ impl UserEventsExporter {
342342
eb.set_struct_field_count(cs_b_bookmark, cs_b_count);
343343

344344
let result = eb.write(&log_es, None, None);
345-
346345
if result > 0 {
346+
// Specially log the case where there is no listener and size exceeding.
347+
if result == 9 {
348+
otel_debug!(name: "UserEvents.EventWriteFailed", result = result, reason = "No listener. This can occur when there was a listener but it was removed before the event was written");
349+
} else if result == 34 {
350+
// Info level for size exceeding.
351+
otel_info!(name: "UserEvents.EventWriteFailed", result = result, reason = "Total payload size exceeded 64KB limit");
352+
} else {
353+
// For all other cases, log the error code.
354+
otel_debug!(name: "UserEvents.EventWriteFailed", result = result);
355+
}
347356
Err(OTelSdkError::InternalFailure(format!(
348357
"Failed to write event to user_events tracepoint with result code: {}",
349358
result

0 commit comments

Comments
 (0)