From d00c2915cc3acfa13560053552be2ed8ea90846f Mon Sep 17 00:00:00 2001 From: Harshit Rajput <31892897+harshitrjpt@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:46:39 +0530 Subject: [PATCH 1/2] Expose metric for log export failure (open-telemetry#6709) --- .../sdk/logs/export/BatchLogRecordProcessor.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java index 601bfdfa208..282b209c50d 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java @@ -141,8 +141,10 @@ private static final class Worker implements Runnable { private static final Logger logger = Logger.getLogger(Worker.class.getName()); private final LongCounter processedLogsCounter; + private final LongCounter logsExportFailureCounter; private final Attributes droppedAttrs; private final Attributes exportedAttrs; + private final Attributes exportFailureAttrs; private final LogRecordExporter logRecordExporter; private final long scheduleDelayNanos; @@ -197,6 +199,13 @@ private Worker( "The number of logs processed by the BatchLogRecordProcessor. " + "[dropped=true if they were dropped due to high throughput]") .build(); + logsExportFailureCounter = + meter + .counterBuilder("logsExportFailure") + .setUnit("1") + .setDescription( + "Logs export failure in BatchLogRecordProcessor.") + .build(); droppedAttrs = Attributes.of( LOG_RECORD_PROCESSOR_TYPE_LABEL, @@ -209,6 +218,10 @@ private Worker( LOG_RECORD_PROCESSOR_TYPE_VALUE, LOG_RECORD_PROCESSOR_DROPPED_LABEL, false); + exportFailureAttrs = + Attributes.of( + LOG_RECORD_PROCESSOR_TYPE_LABEL, + LOG_RECORD_PROCESSOR_TYPE_VALUE); this.batch = new ArrayList<>(this.maxExportBatchSize); } @@ -324,6 +337,7 @@ private void exportCurrentBatch() { processedLogsCounter.add(batch.size(), exportedAttrs); } else { logger.log(Level.FINE, "Exporter failed"); + logsExportFailureCounter.add(1, exportFailureAttrs); } } catch (RuntimeException e) { logger.log(Level.WARNING, "Exporter threw an Exception", e); From 9859eaf81bc22f3add0f5e0e2fae14e145094249 Mon Sep 17 00:00:00 2001 From: Harshit Rajput <31892897+harshitrjpt@users.noreply.github.com> Date: Thu, 10 Oct 2024 20:45:25 +0530 Subject: [PATCH 2/2] spotless apply --- .../sdk/logs/export/BatchLogRecordProcessor.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java index 282b209c50d..c9e8a638eaa 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java @@ -203,8 +203,7 @@ private Worker( meter .counterBuilder("logsExportFailure") .setUnit("1") - .setDescription( - "Logs export failure in BatchLogRecordProcessor.") + .setDescription("Logs export failure in BatchLogRecordProcessor.") .build(); droppedAttrs = Attributes.of( @@ -219,9 +218,7 @@ private Worker( LOG_RECORD_PROCESSOR_DROPPED_LABEL, false); exportFailureAttrs = - Attributes.of( - LOG_RECORD_PROCESSOR_TYPE_LABEL, - LOG_RECORD_PROCESSOR_TYPE_VALUE); + Attributes.of(LOG_RECORD_PROCESSOR_TYPE_LABEL, LOG_RECORD_PROCESSOR_TYPE_VALUE); this.batch = new ArrayList<>(this.maxExportBatchSize); }