Skip to content

Commit 8d5f222

Browse files
authored
Nit improvements to batchprocessors (#2466)
1 parent ef49833 commit 8d5f222

File tree

3 files changed

+30
-16
lines changed

3 files changed

+30
-16
lines changed

opentelemetry-sdk/src/logs/log_processor.rs

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -337,35 +337,42 @@ impl BatchLogProcessor {
337337
match message_receiver.recv_timeout(remaining_time) {
338338
Ok(BatchMessage::ExportLog(log)) => {
339339
logs.push(log);
340-
if logs.len() == config.max_export_batch_size
341-
|| last_export_time.elapsed() >= config.scheduled_delay
342-
{
340+
if logs.len() == config.max_export_batch_size {
341+
otel_debug!(
342+
name: "BatchLogProcessor.ExportingDueToBatchSize",
343+
);
343344
let _ = export_with_timeout_sync(
344-
remaining_time,
345+
config.max_export_timeout,
345346
&mut exporter,
346347
logs.split_off(0),
347348
&mut last_export_time,
348349
);
349350
}
350351
}
351352
Ok(BatchMessage::ForceFlush(sender)) => {
353+
otel_debug!(name: "BatchLogProcessor.ExportingDueToForceFlush");
352354
let result = export_with_timeout_sync(
353-
remaining_time,
355+
config.max_export_timeout,
354356
&mut exporter,
355357
logs.split_off(0),
356358
&mut last_export_time,
357359
);
358360
let _ = sender.send(result);
359361
}
360362
Ok(BatchMessage::Shutdown(sender)) => {
363+
otel_debug!(name: "BatchLogProcessor.ExportingDueToShutdown");
361364
let result = export_with_timeout_sync(
362-
remaining_time,
365+
config.max_export_timeout,
363366
&mut exporter,
364367
logs.split_off(0),
365368
&mut last_export_time,
366369
);
367370
let _ = sender.send(result);
368371

372+
otel_debug!(
373+
name: "BatchLogProcessor.ThreadExiting",
374+
reason = "ShutdownRequested"
375+
);
369376
//
370377
// break out the loop and return from the current background thread.
371378
//
@@ -375,19 +382,24 @@ impl BatchLogProcessor {
375382
exporter.set_resource(&resource);
376383
}
377384
Err(RecvTimeoutError::Timeout) => {
385+
otel_debug!(
386+
name: "BatchLogProcessor.ExportingDueToTimer",
387+
);
378388
let _ = export_with_timeout_sync(
379-
remaining_time,
389+
config.max_export_timeout,
380390
&mut exporter,
381391
logs.split_off(0),
382392
&mut last_export_time,
383393
);
384394
}
385-
Err(err) => {
386-
// TODO: this should not happen! Log the error and continue for now.
387-
otel_error!(
388-
name: "BatchLogProcessor.InternalError",
389-
error = format!("{}", err)
395+
Err(RecvTimeoutError::Disconnected) => {
396+
// Channel disconnected, only thing to do is break
397+
// out (i.e exit the thread)
398+
otel_debug!(
399+
name: "BatchLogProcessor.ThreadExiting",
400+
reason = "MessageSenderDisconnected"
390401
);
402+
break;
391403
}
392404
}
393405
}

opentelemetry-sdk/src/metrics/periodic_reader.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ impl PeriodicReader {
260260
// out (i.e exit the thread)
261261
otel_debug!(
262262
name: "PeriodReaderThreadExiting",
263-
reason = "MessageReceiverDisconnected"
263+
reason = "MessageSenderDisconnected"
264264
);
265265
break;
266266
}

opentelemetry-sdk/src/trace/span_processor.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,11 @@ impl BatchSpanProcessor {
319319
}
320320
}
321321
Err(RecvTimeoutError::Disconnected) => {
322-
otel_error!(
323-
name: "BatchSpanProcessor.InternalError.ChannelDisconnected",
324-
message = "Channel disconnected, shutting down processor thread."
322+
// Channel disconnected, only thing to do is break
323+
// out (i.e exit the thread)
324+
otel_debug!(
325+
name: "BatchSpanProcessor.ThreadExiting",
326+
reason = "MessageSenderDisconnected"
325327
);
326328
break;
327329
}

0 commit comments

Comments
 (0)