From d37eaf773955b7bca8c9d08713201c3ac7c46e9d Mon Sep 17 00:00:00 2001 From: gniadeck Date: Tue, 8 Sep 2026 12:30:53 +0200 Subject: [PATCH 1/4] Add number of affected items to Exporter error logging --- .../exporter/otlp/internal/GrpcExporter.java | 27 +++++++++++++------ .../exporter/otlp/internal/HttpExporter.java | 18 ++++++++----- .../AbstractGrpcTelemetryExporterTest.java | 16 +++++------ .../AbstractHttpTelemetryExporterTest.java | 4 +-- 4 files changed, 41 insertions(+), 24 deletions(-) diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java index 62d5695baf0..5eb08bc492a 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java @@ -68,8 +68,8 @@ public CompletableResultCode export(Marshaler exportRequest, int numItems) { grpcSender.send( exportRequest.toBinaryMessageWriter(), - grpcResponse -> onResponse(result, metricRecording, grpcResponse), - throwable -> onError(result, metricRecording, throwable)); + grpcResponse -> onResponse(result, metricRecording, grpcResponse, numItems), + throwable -> onError(result, metricRecording, throwable, numItems)); return result; } @@ -77,7 +77,8 @@ public CompletableResultCode export(Marshaler exportRequest, int numItems) { private void onResponse( CompletableResultCode result, ExporterInstrumentation.Recording metricRecording, - GrpcResponse grpcResponse) { + GrpcResponse grpcResponse, + int numItems) { GrpcStatusCode statusCode = grpcResponse.getStatusCode(); metricRecording.setGrpcStatusCode(statusCode); @@ -100,8 +101,10 @@ private void onResponse( logger.log( Level.SEVERE, "Failed to export " + + numItems + + " " + type - + "s. Server is UNAVAILABLE. " + + "(s). Server is UNAVAILABLE. " + "Make sure your collector is running and reachable from this network. " + "Full error message:" + grpcResponse.getStatusDescription()); @@ -110,8 +113,10 @@ private void onResponse( logger.log( Level.WARNING, "Failed to export " + + numItems + + " " + type - + "s. Server responded with gRPC status code " + + "(s). Server responded with gRPC status code " + statusCode.getValue() + ". Error message: " + grpcResponse.getStatusDescription()); @@ -123,12 +128,18 @@ private void onResponse( private void onError( CompletableResultCode result, ExporterInstrumentation.Recording metricRecording, - Throwable e) { + Throwable e, + int numItems) { metricRecording.finishFailed(e); logger.log( - Level.SEVERE, "Failed to export " + type + "s. The request could not be executed.", e); + Level.SEVERE, + "Failed to export " + numItems + " " + type + "(s). The request could not be executed.", + e); if (logger.isLoggable(Level.FINEST)) { - logger.log(Level.FINEST, "Failed to export " + type + "s. Details follow:", e); + logger.log( + Level.FINEST, + "Failed to export " + numItems + " " + type + "(s). Details follow:", + e); } result.failExceptionally(FailedExportException.grpcFailedExceptionally(e)); } diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java index ea2b108f20e..15075bb58a4 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java @@ -75,8 +75,8 @@ public CompletableResultCode export(Marshaler exportRequest, int numItems) { httpSender.send( messageWriter, - httpResponse -> onResponse(result, metricRecording, httpResponse), - throwable -> onError(result, metricRecording, throwable)); + httpResponse -> onResponse(result, metricRecording, httpResponse, numItems), + throwable -> onError(result, metricRecording, throwable, numItems)); return result; } @@ -84,7 +84,8 @@ public CompletableResultCode export(Marshaler exportRequest, int numItems) { private void onResponse( CompletableResultCode result, ExporterInstrumentation.Recording metricRecording, - HttpResponse httpResponse) { + HttpResponse httpResponse, + int numItems) { int statusCode = httpResponse.getStatusCode(); metricRecording.setHttpStatusCode(statusCode); @@ -104,8 +105,10 @@ private void onResponse( logger.log( Level.WARNING, "Failed to export " + + numItems + + " " + type - + "s. Server responded with HTTP status code " + + "(s). Server responded with HTTP status code " + statusCode + ". Error message: " + status); @@ -116,10 +119,13 @@ private void onResponse( private void onError( CompletableResultCode result, ExporterInstrumentation.Recording metricRecording, - Throwable e) { + Throwable e, + int numItems) { metricRecording.finishFailed(e); logger.log( - Level.SEVERE, "Failed to export " + type + "s. The request could not be executed.", e); + Level.SEVERE, + "Failed to export " + numItems + " " + type + "(s). The request could not be executed.", + e); result.failExceptionally(FailedExportException.httpFailedExceptionally(e)); } diff --git a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java index 743efed98cf..0fc0195d148 100644 --- a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java +++ b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java @@ -826,9 +826,9 @@ void error() { LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type - + "s. Server responded with gRPC status code 13. Error message:"); + + "(s). Server responded with gRPC status code 13. Error message:"); assertThat(log.getLevel()).isEqualTo(Level.WARN); } } @@ -870,9 +870,9 @@ void errorWithMessage() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type - + "s. Server responded with gRPC status code 8. Error message: out of quota"); + + "(s). Server responded with gRPC status code 8. Error message: out of quota"); assertThat(log.getLevel()).isEqualTo(Level.WARN); } } @@ -891,9 +891,9 @@ void errorWithEscapedMessage() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type - + "s. Server responded with gRPC status code 5. Error message: クマ🐻"); + + "(s). Server responded with gRPC status code 5. Error message: クマ🐻"); assertThat(log.getLevel()).isEqualTo(Level.WARN); } } @@ -912,9 +912,9 @@ void testExport_Unavailable() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type - + "s. Server is UNAVAILABLE. " + + "(s). Server is UNAVAILABLE. " + "Make sure your collector is running and reachable from this network."); assertThat(log.getLevel()).isEqualTo(Level.ERROR); } diff --git a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java index 11a3e7e2efb..fdaf6a829f1 100644 --- a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java +++ b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java @@ -611,9 +611,9 @@ void error() { LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type - + "s. Server responded with HTTP status code 500. Error message:"); + + "(s). Server responded with HTTP status code 500. Error message:"); assertThat(log.getLevel()).isEqualTo(Level.WARN); } From d852f080acb439076164ee0110621e28f20a728e Mon Sep 17 00:00:00 2001 From: gniadeck Date: Tue, 8 Sep 2026 13:16:34 +0200 Subject: [PATCH 2/4] Apply spotless formatting --- .../io/opentelemetry/exporter/otlp/internal/GrpcExporter.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java index 5eb08bc492a..e403613d0fa 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java @@ -137,9 +137,7 @@ private void onError( e); if (logger.isLoggable(Level.FINEST)) { logger.log( - Level.FINEST, - "Failed to export " + numItems + " " + type + "(s). Details follow:", - e); + Level.FINEST, "Failed to export " + numItems + " " + type + "(s). Details follow:", e); } result.failExceptionally(FailedExportException.grpcFailedExceptionally(e)); } From 4a6133f2fe3aba13615d833060d58d8629c79e3f Mon Sep 17 00:00:00 2001 From: gniadeck Date: Wed, 9 Sep 2026 11:26:14 +0200 Subject: [PATCH 3/4] Address review feedback: append item count at end of message, reorder onError params --- .../exporter/otlp/internal/GrpcExporter.java | 46 +++++++++++++------ .../exporter/otlp/internal/HttpExporter.java | 25 ++++++---- .../AbstractGrpcTelemetryExporterTest.java | 20 ++++---- .../AbstractHttpTelemetryExporterTest.java | 5 +- 4 files changed, 65 insertions(+), 31 deletions(-) diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java index e403613d0fa..7881e4db974 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java @@ -69,7 +69,7 @@ public CompletableResultCode export(Marshaler exportRequest, int numItems) { grpcSender.send( exportRequest.toBinaryMessageWriter(), grpcResponse -> onResponse(result, metricRecording, grpcResponse, numItems), - throwable -> onError(result, metricRecording, throwable, numItems)); + throwable -> onError(result, metricRecording, numItems, throwable)); return result; } @@ -101,25 +101,31 @@ private void onResponse( logger.log( Level.SEVERE, "Failed to export " - + numItems - + " " + type - + "(s). Server is UNAVAILABLE. " + + "s. Server is UNAVAILABLE. " + "Make sure your collector is running and reachable from this network. " + "Full error message:" - + grpcResponse.getStatusDescription()); + + grpcResponse.getStatusDescription() + + ". Failed to export " + + numItems + + " " + + type + + "(s)."); break; default: logger.log( Level.WARNING, "Failed to export " - + numItems - + " " + type - + "(s). Server responded with gRPC status code " + + "s. Server responded with gRPC status code " + statusCode.getValue() + ". Error message: " - + grpcResponse.getStatusDescription()); + + grpcResponse.getStatusDescription() + + ". Failed to export " + + numItems + + " " + + type + + "(s)."); break; } result.failExceptionally(FailedExportException.grpcFailedWithResponse(grpcResponse)); @@ -128,16 +134,30 @@ private void onResponse( private void onError( CompletableResultCode result, ExporterInstrumentation.Recording metricRecording, - Throwable e, - int numItems) { + int numItems, + Throwable e) { metricRecording.finishFailed(e); logger.log( Level.SEVERE, - "Failed to export " + numItems + " " + type + "(s). The request could not be executed.", + "Failed to export " + + type + + "s. The request could not be executed. Failed to export " + + numItems + + " " + + type + + "(s).", e); if (logger.isLoggable(Level.FINEST)) { logger.log( - Level.FINEST, "Failed to export " + numItems + " " + type + "(s). Details follow:", e); + Level.FINEST, + "Failed to export " + + type + + "s. Failed to export " + + numItems + + " " + + type + + "(s). Details follow:", + e); } result.failExceptionally(FailedExportException.grpcFailedExceptionally(e)); } diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java index 15075bb58a4..57a48cb1710 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java @@ -76,7 +76,7 @@ public CompletableResultCode export(Marshaler exportRequest, int numItems) { httpSender.send( messageWriter, httpResponse -> onResponse(result, metricRecording, httpResponse, numItems), - throwable -> onError(result, metricRecording, throwable, numItems)); + throwable -> onError(result, metricRecording, numItems, throwable)); return result; } @@ -105,13 +105,16 @@ private void onResponse( logger.log( Level.WARNING, "Failed to export " - + numItems - + " " + type - + "(s). Server responded with HTTP status code " + + "s. Server responded with HTTP status code " + statusCode + ". Error message: " - + status); + + status + + ". Failed to export " + + numItems + + " " + + type + + "(s)."); result.failExceptionally(FailedExportException.httpFailedWithResponse(httpResponse)); } @@ -119,12 +122,18 @@ private void onResponse( private void onError( CompletableResultCode result, ExporterInstrumentation.Recording metricRecording, - Throwable e, - int numItems) { + int numItems, + Throwable e) { metricRecording.finishFailed(e); logger.log( Level.SEVERE, - "Failed to export " + numItems + " " + type + "(s). The request could not be executed.", + "Failed to export " + + type + + "s. The request could not be executed. Failed to export " + + numItems + + " " + + type + + "(s).", e); result.failExceptionally(FailedExportException.httpFailedExceptionally(e)); } diff --git a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java index 0fc0195d148..38e9170b8a3 100644 --- a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java +++ b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java @@ -826,10 +826,11 @@ void error() { LoggingEvent log = logs.assertContains( - "Failed to export 1 " + "Failed to export " + type - + "(s). Server responded with gRPC status code 13. Error message:"); + + "s. Server responded with gRPC status code 13. Error message:"); assertThat(log.getLevel()).isEqualTo(Level.WARN); + assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } @@ -870,10 +871,11 @@ void errorWithMessage() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export 1 " + "Failed to export " + type - + "(s). Server responded with gRPC status code 8. Error message: out of quota"); + + "s. Server responded with gRPC status code 8. Error message: out of quota"); assertThat(log.getLevel()).isEqualTo(Level.WARN); + assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } @@ -891,10 +893,11 @@ void errorWithEscapedMessage() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export 1 " + "Failed to export " + type - + "(s). Server responded with gRPC status code 5. Error message: クマ🐻"); + + "s. Server responded with gRPC status code 5. Error message: クマ🐻"); assertThat(log.getLevel()).isEqualTo(Level.WARN); + assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } @@ -912,11 +915,12 @@ void testExport_Unavailable() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export 1 " + "Failed to export " + type - + "(s). Server is UNAVAILABLE. " + + "s. Server is UNAVAILABLE. " + "Make sure your collector is running and reachable from this network."); assertThat(log.getLevel()).isEqualTo(Level.ERROR); + assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } diff --git a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java index fdaf6a829f1..4ae7a2e4681 100644 --- a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java +++ b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java @@ -611,10 +611,11 @@ void error() { LoggingEvent log = logs.assertContains( - "Failed to export 1 " + "Failed to export " + type - + "(s). Server responded with HTTP status code 500. Error message:"); + + "s. Server responded with HTTP status code 500. Error message:"); assertThat(log.getLevel()).isEqualTo(Level.WARN); + assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } @Test From da59cbe4aa19003a0f596756adfbe1650f8c6b93 Mon Sep 17 00:00:00 2001 From: gniadeck <77535280+gniadeck@users.noreply.github.com> Date: Thu, 10 Sep 2026 00:25:51 +0200 Subject: [PATCH 4/4] revert to previous message style --- .../exporter/otlp/internal/GrpcExporter.java | 36 +++++-------------- .../exporter/otlp/internal/HttpExporter.java | 17 +++------ .../AbstractGrpcTelemetryExporterTest.java | 12 +++---- .../AbstractHttpTelemetryExporterTest.java | 3 +- 4 files changed, 17 insertions(+), 51 deletions(-) diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java index 7881e4db974..c894d0dff12 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/GrpcExporter.java @@ -101,31 +101,25 @@ private void onResponse( logger.log( Level.SEVERE, "Failed to export " + + numItems + + " " + type + "s. Server is UNAVAILABLE. " + "Make sure your collector is running and reachable from this network. " + "Full error message:" - + grpcResponse.getStatusDescription() - + ". Failed to export " - + numItems - + " " - + type - + "(s)."); + + grpcResponse.getStatusDescription()); break; default: logger.log( Level.WARNING, "Failed to export " + + numItems + + " " + type + "s. Server responded with gRPC status code " + statusCode.getValue() + ". Error message: " - + grpcResponse.getStatusDescription() - + ". Failed to export " - + numItems - + " " - + type - + "(s)."); + + grpcResponse.getStatusDescription()); break; } result.failExceptionally(FailedExportException.grpcFailedWithResponse(grpcResponse)); @@ -139,25 +133,11 @@ private void onError( metricRecording.finishFailed(e); logger.log( Level.SEVERE, - "Failed to export " - + type - + "s. The request could not be executed. Failed to export " - + numItems - + " " - + type - + "(s).", + "Failed to export " + numItems + " " + type + "s. The request could not be executed.", e); if (logger.isLoggable(Level.FINEST)) { logger.log( - Level.FINEST, - "Failed to export " - + type - + "s. Failed to export " - + numItems - + " " - + type - + "(s). Details follow:", - e); + Level.FINEST, "Failed to export " + numItems + " " + type + "s. Details follow:", e); } result.failExceptionally(FailedExportException.grpcFailedExceptionally(e)); } diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java index 57a48cb1710..516c70e9abd 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/HttpExporter.java @@ -105,16 +105,13 @@ private void onResponse( logger.log( Level.WARNING, "Failed to export " + + numItems + + " " + type + "s. Server responded with HTTP status code " + statusCode + ". Error message: " - + status - + ". Failed to export " - + numItems - + " " - + type - + "(s)."); + + status); result.failExceptionally(FailedExportException.httpFailedWithResponse(httpResponse)); } @@ -127,13 +124,7 @@ private void onError( metricRecording.finishFailed(e); logger.log( Level.SEVERE, - "Failed to export " - + type - + "s. The request could not be executed. Failed to export " - + numItems - + " " - + type - + "(s).", + "Failed to export " + numItems + " " + type + "s. The request could not be executed.", e); result.failExceptionally(FailedExportException.httpFailedExceptionally(e)); } diff --git a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java index 38e9170b8a3..d82c5e8d4b9 100644 --- a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java +++ b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractGrpcTelemetryExporterTest.java @@ -826,11 +826,10 @@ void error() { LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type + "s. Server responded with gRPC status code 13. Error message:"); assertThat(log.getLevel()).isEqualTo(Level.WARN); - assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } @@ -871,11 +870,10 @@ void errorWithMessage() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type + "s. Server responded with gRPC status code 8. Error message: out of quota"); assertThat(log.getLevel()).isEqualTo(Level.WARN); - assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } @@ -893,11 +891,10 @@ void errorWithEscapedMessage() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type + "s. Server responded with gRPC status code 5. Error message: クマ🐻"); assertThat(log.getLevel()).isEqualTo(Level.WARN); - assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } @@ -915,12 +912,11 @@ void testExport_Unavailable() { .isFalse(); LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type + "s. Server is UNAVAILABLE. " + "Make sure your collector is running and reachable from this network."); assertThat(log.getLevel()).isEqualTo(Level.ERROR); - assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } } diff --git a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java index 4ae7a2e4681..1506ed107fc 100644 --- a/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java +++ b/exporters/otlp/testing-internal/src/main/java/io/opentelemetry/exporter/otlp/testing/internal/AbstractHttpTelemetryExporterTest.java @@ -611,11 +611,10 @@ void error() { LoggingEvent log = logs.assertContains( - "Failed to export " + "Failed to export 1 " + type + "s. Server responded with HTTP status code 500. Error message:"); assertThat(log.getLevel()).isEqualTo(Level.WARN); - assertThat(log.getMessage()).endsWith("Failed to export 1 " + type + "(s)."); } @Test