From f1c477d4a1a1889bfec6a9d9fbff810c732f5234 Mon Sep 17 00:00:00 2001 From: Jason Plumb Date: Thu, 6 Jun 2024 16:58:42 -0700 Subject: [PATCH 1/3] pass sdk to listeners --- .../android/OpenTelemetryRumBuilder.java | 2 ++ .../android/OpenTelemetryRumBuilderTest.java | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/android-agent/src/main/java/io/opentelemetry/android/OpenTelemetryRumBuilder.java b/android-agent/src/main/java/io/opentelemetry/android/OpenTelemetryRumBuilder.java index 19eebad9a..d6e0a4881 100644 --- a/android-agent/src/main/java/io/opentelemetry/android/OpenTelemetryRumBuilder.java +++ b/android-agent/src/main/java/io/opentelemetry/android/OpenTelemetryRumBuilder.java @@ -337,6 +337,8 @@ OpenTelemetryRum build(ServiceManager serviceManager) { .setPropagators(buildFinalPropagators()) .build(); + otelSdkReadyListeners.forEach(listener -> listener.accept(sdk)); + scheduleDiskTelemetryReader(signalFromDiskExporter, diskBufferingConfiguration); SdkPreconfiguredRumBuilder delegate = diff --git a/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java b/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java index 4d681d502..1614a90f3 100644 --- a/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java +++ b/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java @@ -43,6 +43,7 @@ import io.opentelemetry.context.propagation.TextMapGetter; import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.contrib.disk.buffering.SpanToDiskExporter; +import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.logs.data.LogRecordData; import io.opentelemetry.sdk.logs.export.SimpleLogRecordProcessor; import io.opentelemetry.sdk.resources.Resource; @@ -56,6 +57,7 @@ import java.time.Duration; import java.util.Arrays; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -256,6 +258,16 @@ void diskBufferingEnabled_when_exception_thrown() { assertThat(SignalFromDiskExporter.get()).isNull(); } + @Test + void sdkReadyListeners(){ + OtelRumConfig config = buildConfig(); + AtomicReference seen = new AtomicReference<>(); + OpenTelemetryRum.builder(application, config) + .addOtelSdkReadyListener(seen::set) + .build(mock(ServiceManager.class)); + assertThat(seen.get()).isNotNull(); + } + @Test void diskBufferingDisabled() { ArgumentCaptor exporterCaptor = ArgumentCaptor.forClass(SpanExporter.class); From 9ed9c0bf2ed0d9ac0b105bd5292b325f5193e942 Mon Sep 17 00:00:00 2001 From: Jason Plumb Date: Thu, 6 Jun 2024 16:59:15 -0700 Subject: [PATCH 2/3] spotless --- .../io/opentelemetry/android/OpenTelemetryRumBuilderTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java b/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java index 1614a90f3..6aa9eb4cf 100644 --- a/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java +++ b/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java @@ -259,7 +259,7 @@ void diskBufferingEnabled_when_exception_thrown() { } @Test - void sdkReadyListeners(){ + void sdkReadyListeners() { OtelRumConfig config = buildConfig(); AtomicReference seen = new AtomicReference<>(); OpenTelemetryRum.builder(application, config) From f588f65b5be6d0a0d28b2305b28c6f4d52587016 Mon Sep 17 00:00:00 2001 From: Jason Plumb Date: Fri, 7 Jun 2024 08:56:16 -0700 Subject: [PATCH 3/3] fix test --- .../android/OpenTelemetryRumBuilderTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java b/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java index 6aa9eb4cf..08866618c 100644 --- a/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java +++ b/android-agent/src/test/java/io/opentelemetry/android/OpenTelemetryRumBuilderTest.java @@ -151,10 +151,6 @@ void shouldInstallInstrumentation() { verify(listener).onApplicationBackgrounded(); } - private OtelRumConfig buildConfig() { - return new OtelRumConfig().disableNetworkAttributes(); - } - @Test void canAddPropagator() { Context context = Context.root(); @@ -348,4 +344,8 @@ private static ServiceManager createServiceManager(Object... services) { private OpenTelemetryRumBuilder makeBuilder() { return OpenTelemetryRum.builder(application, buildConfig()); } + + private OtelRumConfig buildConfig() { + return new OtelRumConfig().disableNetworkAttributes().disableSdkInitializationEvents(); + } }