diff --git a/agent-sdk/src/main/java/co/elastic/otel/android/internal/opentelemetry/ElasticOpenTelemetry.kt b/agent-sdk/src/main/java/co/elastic/otel/android/internal/opentelemetry/ElasticOpenTelemetry.kt index 9d9076df6..f826858e4 100644 --- a/agent-sdk/src/main/java/co/elastic/otel/android/internal/opentelemetry/ElasticOpenTelemetry.kt +++ b/agent-sdk/src/main/java/co/elastic/otel/android/internal/opentelemetry/ElasticOpenTelemetry.kt @@ -38,10 +38,13 @@ import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator import io.opentelemetry.context.propagation.ContextPropagators import io.opentelemetry.sdk.OpenTelemetrySdk import io.opentelemetry.sdk.common.Clock +import io.opentelemetry.sdk.common.internal.ScopeConfiguratorBuilder import io.opentelemetry.sdk.logs.SdkLoggerProvider import io.opentelemetry.sdk.logs.export.LogRecordExporter import io.opentelemetry.sdk.metrics.SdkMeterProvider import io.opentelemetry.sdk.metrics.export.MetricExporter +import io.opentelemetry.sdk.metrics.internal.MeterConfig +import io.opentelemetry.sdk.metrics.internal.SdkMeterProviderUtil import io.opentelemetry.sdk.resources.Resource import io.opentelemetry.sdk.trace.SdkTracerProvider import io.opentelemetry.sdk.trace.export.SpanExporter @@ -222,13 +225,16 @@ class ElasticOpenTelemetry private constructor( ) } finalProcessorFactory.createMetricReader(metricExporter)?.let { - openTelemetryBuilder.setMeterProvider( - SdkMeterProvider.builder() - .setClock(clock) - .setResource(resource) - .registerMetricReader(it) - .build() + val meterProviderBuilder = SdkMeterProvider.builder() + .setClock(clock) + .setResource(resource) + .registerMetricReader(it) + SdkMeterProviderUtil.addMeterConfiguratorCondition( + meterProviderBuilder, + ScopeConfiguratorBuilder.nameEquals("io.opentelemetry.sdk.metrics"), + MeterConfig.disabled() ) + openTelemetryBuilder.setMeterProvider(meterProviderBuilder.build()) } openTelemetryBuilder.setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance())) return ElasticOpenTelemetry( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cd9f54137..3d9fd01bb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -opentelemetry = "1.59.0" +opentelemetry = "1.60.1" opentelemetry-contrib = "1.54.0-alpha" byteBuddy = "1.18.7" kotlin = "2.3.10" @@ -7,7 +7,7 @@ android = "9.1.0" [libraries] opentelemetry-sdk = { module = "io.opentelemetry:opentelemetry-sdk", version.ref = "opentelemetry" } -opentelemetry-api-incubator = "io.opentelemetry:opentelemetry-api-incubator:1.59.0-alpha" +opentelemetry-api-incubator = "io.opentelemetry:opentelemetry-api-incubator:1.60.1-alpha" stagemonitor-configuration = "org.stagemonitor:stagemonitor-configuration:0.89.1" androidx-annotations = "androidx.annotation:annotation:1.9.1" androidx-core = "androidx.core:core:1.17.0" diff --git a/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/NoopSpanBuilder.kt b/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/NoopSpanBuilder.kt index 41ff7afb3..d322e2f1a 100644 --- a/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/NoopSpanBuilder.kt +++ b/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/NoopSpanBuilder.kt @@ -60,7 +60,7 @@ class NoopSpanBuilder private constructor() : SpanBuilder { return this } - override fun setAttribute(key: String, value: String): NoopSpanBuilder { + override fun setAttribute(key: String, value: String?): NoopSpanBuilder { return this } diff --git a/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/SpanBuilderDelegator.kt b/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/SpanBuilderDelegator.kt index 358ea3511..2045754ae 100644 --- a/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/SpanBuilderDelegator.kt +++ b/instrumentation/oteladapter/library/src/main/java/co/elastic/otel/android/oteladapter/internal/delegate/tracer/span/SpanBuilderDelegator.kt @@ -56,7 +56,7 @@ class SpanBuilderDelegator(initialValue: SpanBuilder) : Delegator(i override fun setAttribute( key: String, - value: String + value: String? ): SpanBuilder? { return getDelegate().setAttribute(key, value) } @@ -84,7 +84,7 @@ class SpanBuilderDelegator(initialValue: SpanBuilder) : Delegator(i override fun setAttribute( key: AttributeKey, - value: T & Any + value: T? ): SpanBuilder? { return getDelegate().setAttribute(key, value) }