From 4512672b7b0cefefecccb2c365f19f10bb20cf28 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Fri, 2 Aug 2024 08:23:32 -0700 Subject: [PATCH] simplify --- .../implementation/SpanDataMapper.java | 12 +-- .../implementation/builders/Exceptions.java | 20 ---- .../implementation/utils/ExceptionsTest.java | 96 ------------------- 3 files changed, 6 insertions(+), 122 deletions(-) delete mode 100644 sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/builders/Exceptions.java delete mode 100644 sdk/monitor/azure-monitor-opentelemetry-exporter/src/test/java/com/azure/monitor/opentelemetry/exporter/implementation/utils/ExceptionsTest.java diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/SpanDataMapper.java b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/SpanDataMapper.java index 05969f7940517..4d54b4b720ec8 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/SpanDataMapper.java +++ b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/SpanDataMapper.java @@ -6,7 +6,6 @@ import com.azure.monitor.opentelemetry.exporter.implementation.builders.AbstractTelemetryBuilder; import com.azure.monitor.opentelemetry.exporter.implementation.builders.ExceptionDetailBuilder; import com.azure.monitor.opentelemetry.exporter.implementation.builders.ExceptionTelemetryBuilder; -import com.azure.monitor.opentelemetry.exporter.implementation.builders.Exceptions; import com.azure.monitor.opentelemetry.exporter.implementation.builders.MessageTelemetryBuilder; import com.azure.monitor.opentelemetry.exporter.implementation.builders.RemoteDependencyTelemetryBuilder; import com.azure.monitor.opentelemetry.exporter.implementation.builders.RequestTelemetryBuilder; @@ -37,6 +36,7 @@ import static com.azure.monitor.opentelemetry.exporter.implementation.MappingsBuilder.MappingType.SPAN; import static java.util.Arrays.asList; +import static java.util.Collections.singletonList; import static java.util.concurrent.TimeUnit.NANOSECONDS; import static java.util.concurrent.TimeUnit.SECONDS; @@ -849,17 +849,17 @@ private TelemetryItem createExceptionTelemetryItem( } static void setExceptions(String stack, Attributes attributes, ExceptionTelemetryBuilder telemetryBuilder) { - List builders = Exceptions.minimalParse(stack); - ExceptionDetailBuilder exceptionDetailBuilder = builders.get(0); + ExceptionDetailBuilder builder = new ExceptionDetailBuilder(); String type = attributes.get(SemanticAttributes.EXCEPTION_TYPE); if (type != null && !type.isEmpty()) { - exceptionDetailBuilder.setTypeName(type); + builder.setTypeName(type); } String message = attributes.get(SemanticAttributes.EXCEPTION_MESSAGE); if (message != null && !message.isEmpty()) { - exceptionDetailBuilder.setMessage(message); + builder.setMessage(message); } - telemetryBuilder.setExceptions(builders); + builder.setStack(stack); + telemetryBuilder.setExceptions(singletonList(builder)); } diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/builders/Exceptions.java b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/builders/Exceptions.java deleted file mode 100644 index c68dc2e10e7d1..0000000000000 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/builders/Exceptions.java +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.monitor.opentelemetry.exporter.implementation.builders; - -import java.util.List; - -import static java.util.Collections.singletonList; - -public final class Exceptions { - - public static List minimalParse(String str) { - ExceptionDetailBuilder builder = new ExceptionDetailBuilder(); - builder.setStack(str); - return singletonList(builder); - } - - private Exceptions() { - } -} diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/test/java/com/azure/monitor/opentelemetry/exporter/implementation/utils/ExceptionsTest.java b/sdk/monitor/azure-monitor-opentelemetry-exporter/src/test/java/com/azure/monitor/opentelemetry/exporter/implementation/utils/ExceptionsTest.java deleted file mode 100644 index 5c253bf7892f8..0000000000000 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/src/test/java/com/azure/monitor/opentelemetry/exporter/implementation/utils/ExceptionsTest.java +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.monitor.opentelemetry.exporter.implementation.utils; - -import com.azure.monitor.opentelemetry.exporter.implementation.builders.ExceptionDetailBuilder; -import com.azure.monitor.opentelemetry.exporter.implementation.builders.Exceptions; -import com.azure.monitor.opentelemetry.exporter.implementation.models.TelemetryExceptionDetails; -import org.junit.jupiter.api.Test; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.List; - -import static org.assertj.core.api.Assertions.assertThat; - -public class ExceptionsTest { - - @Test - public void testMinimalParse() { - // given - String str = toString(new IllegalStateException("test")); - - // when - List list = Exceptions.minimalParse(str); - - // then - assertThat(list.size()).isEqualTo(1); - - TelemetryExceptionDetails details = list.get(0).build(); - assertThat(details.getTypeName()).isEqualTo(IllegalStateException.class.getName()); - assertThat(details.getMessage()).isEqualTo("test"); - } - - @Test - public void testMinimalParseWithColonInMessage() { - // given - String str = toString(new IllegalStateException("hello: world")); - - // when - List list = Exceptions.minimalParse(str); - - // then - assertThat(list.size()).isEqualTo(1); - - TelemetryExceptionDetails details = list.get(0).build(); - assertThat(details.getTypeName()).isEqualTo(IllegalStateException.class.getName()); - assertThat(details.getMessage()).isEqualTo("hello: world"); - } - - @Test - public void testMinimalParseWithNoMessage() { - // given - String str = toString(new IllegalStateException()); - - // when - List list = Exceptions.minimalParse(str); - - // then - assertThat(list.size()).isEqualTo(1); - - TelemetryExceptionDetails details = list.get(0).build(); - assertThat(details.getTypeName()).isEqualTo(IllegalStateException.class.getName()); - assertThat(details.getMessage()).isEqualTo(IllegalStateException.class.getName()); - } - - @Test - public void testMinimalParseWithProblematicMessage() { - // given - String str = toString(new ProblematicException()); - - // when - List list = Exceptions.minimalParse(str); - - // then - assertThat(list.size()).isEqualTo(1); - - TelemetryExceptionDetails details = list.get(0).build(); - assertThat(details.getTypeName()).isEqualTo(ProblematicException.class.getName()); - assertThat(details.getMessage()).isEqualTo(ProblematicException.class.getName()); - } - - private static String toString(Throwable t) { - StringWriter out = new StringWriter(); - t.printStackTrace(new PrintWriter(out)); - return out.toString(); - } - - @SuppressWarnings("OverrideThrowableToString") - private static class ProblematicException extends Exception { - @Override - public String toString() { - return ProblematicException.class.getName() + ":"; - } - } -}