From 11963ad35ec032d29e01a3017f01861e337fc56a Mon Sep 17 00:00:00 2001 From: heyams Date: Thu, 13 Jun 2024 13:23:10 -0700 Subject: [PATCH 1/3] Skip export log when logger names start with our exporter package name --- .../opentelemetry/exporter/AzureMonitorLogRecordExporter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java index 30b8360ac979..e5945cc113e5 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java +++ b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java @@ -26,6 +26,7 @@ */ class AzureMonitorLogRecordExporter implements LogRecordExporter { + private static final String LOGGER_PREFIX = "com.azure.monitor.opentelemetry.exporter"; private static final ClientLogger LOGGER = new ClientLogger(AzureMonitorLogRecordExporter.class); private static final OperationLogger OPERATION_LOGGER = new OperationLogger(AzureMonitorLogRecordExporter.class, "Exporting log"); @@ -54,6 +55,9 @@ public CompletableResultCode export(Collection logs) { List telemetryItems = new ArrayList<>(); for (LogRecordData log : logs) { + if (log.getInstrumentationScopeInfo().getName().startsWith(LOGGER_PREFIX)) { + continue; + } LOGGER.verbose("exporting log: {}", log); try { String stack = log.getAttributes().get(SemanticAttributes.EXCEPTION_STACKTRACE); From c7842feafa4e643652c29d976ea3b95751194bad Mon Sep 17 00:00:00 2001 From: heyams Date: Tue, 23 Jul 2024 11:09:57 -0700 Subject: [PATCH 2/3] Rename constant --- .../opentelemetry/exporter/AzureMonitorLogRecordExporter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java index e5945cc113e5..76f40bd11e88 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java +++ b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java @@ -26,7 +26,7 @@ */ class AzureMonitorLogRecordExporter implements LogRecordExporter { - private static final String LOGGER_PREFIX = "com.azure.monitor.opentelemetry.exporter"; + private static final String EXPORTER_LOGGER_PREFIX = "com.azure.monitor.opentelemetry.exporter"; private static final ClientLogger LOGGER = new ClientLogger(AzureMonitorLogRecordExporter.class); private static final OperationLogger OPERATION_LOGGER = new OperationLogger(AzureMonitorLogRecordExporter.class, "Exporting log"); @@ -55,7 +55,7 @@ public CompletableResultCode export(Collection logs) { List telemetryItems = new ArrayList<>(); for (LogRecordData log : logs) { - if (log.getInstrumentationScopeInfo().getName().startsWith(LOGGER_PREFIX)) { + if (log.getInstrumentationScopeInfo().getName().startsWith(EXPORTER_LOGGER_PREFIX)) { continue; } LOGGER.verbose("exporting log: {}", log); From ec5f9e161b267a1e3bff07769b4b527049f5cae5 Mon Sep 17 00:00:00 2001 From: heyams Date: Tue, 23 Jul 2024 11:13:19 -0700 Subject: [PATCH 3/3] Add a todo --- .../opentelemetry/exporter/AzureMonitorLogRecordExporter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java index 76f40bd11e88..95ee8cba955c 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java +++ b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/AzureMonitorLogRecordExporter.java @@ -55,6 +55,7 @@ public CompletableResultCode export(Collection logs) { List telemetryItems = new ArrayList<>(); for (LogRecordData log : logs) { + // TODO (heya) consider using suppress_instrumentation https://github.com/open-telemetry/opentelemetry-java/pull/6546 later when available if (log.getInstrumentationScopeInfo().getName().startsWith(EXPORTER_LOGGER_PREFIX)) { continue; }