From 5e4bd503a02324886ab02bd02a26a2ca869ac554 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 13:05:40 +0200 Subject: [PATCH 01/10] [improve] Upgrade OpenTelemetry to 1.56.0 --- .../server/src/assemble/LICENSE.bin.txt | 30 +++++++++---------- .../shell/src/assemble/LICENSE.bin.txt | 6 ++-- pom.xml | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 6f5ae6e44ba7f..ed99eb32f92fb 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -519,21 +519,21 @@ The Apache Software License, Version 2.0 * RoaringBitmap - org.roaringbitmap-RoaringBitmap-1.2.0.jar * OpenTelemetry - - io.opentelemetry-opentelemetry-api-1.45.0.jar - - io.opentelemetry-opentelemetry-api-incubator-1.45.0-alpha.jar - - io.opentelemetry-opentelemetry-context-1.45.0.jar - - io.opentelemetry-opentelemetry-exporter-common-1.45.0.jar - - io.opentelemetry-opentelemetry-exporter-otlp-1.45.0.jar - - io.opentelemetry-opentelemetry-exporter-otlp-common-1.45.0.jar - - io.opentelemetry-opentelemetry-exporter-prometheus-1.45.0-alpha.jar - - io.opentelemetry-opentelemetry-exporter-sender-okhttp-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-common-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-logs-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-metrics-1.45.0.jar - - io.opentelemetry-opentelemetry-sdk-trace-1.45.0.jar + - io.opentelemetry-opentelemetry-api-1.56.0.jar + - io.opentelemetry-opentelemetry-api-incubator-1.56.0-alpha.jar + - io.opentelemetry-opentelemetry-context-1.56.0.jar + - io.opentelemetry-opentelemetry-exporter-common-1.56.0.jar + - io.opentelemetry-opentelemetry-exporter-otlp-1.56.0.jar + - io.opentelemetry-opentelemetry-exporter-otlp-common-1.56.0.jar + - io.opentelemetry-opentelemetry-exporter-prometheus-1.56.0-alpha.jar + - io.opentelemetry-opentelemetry-exporter-sender-okhttp-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-common-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-logs-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-metrics-1.56.0.jar + - io.opentelemetry-opentelemetry-sdk-trace-1.56.0.jar - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-1.33.6.jar - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-semconv-1.33.6-alpha.jar - io.opentelemetry.instrumentation-opentelemetry-resources-1.33.6-alpha.jar diff --git a/distribution/shell/src/assemble/LICENSE.bin.txt b/distribution/shell/src/assemble/LICENSE.bin.txt index 56aa6e2257e36..23012055148ab 100644 --- a/distribution/shell/src/assemble/LICENSE.bin.txt +++ b/distribution/shell/src/assemble/LICENSE.bin.txt @@ -389,9 +389,9 @@ The Apache Software License, Version 2.0 - log4j-slf4j2-impl-2.25.2.jar - log4j-web-2.25.2.jar * OpenTelemetry - - opentelemetry-api-1.45.0.jar - - opentelemetry-api-incubator-1.45.0-alpha.jar - - opentelemetry-context-1.45.0.jar + - opentelemetry-api-1.56.0.jar + - opentelemetry-api-incubator-1.56.0-alpha.jar + - opentelemetry-context-1.56.0.jar * BookKeeper - bookkeeper-common-allocator-4.17.2.jar diff --git a/pom.xml b/pom.xml index f52704b3a771a..f808e7bf1699c 100644 --- a/pom.xml +++ b/pom.xml @@ -306,7 +306,7 @@ flexible messaging model and an intuitive client API. the core logic is switched to java implementation of zstd in org.apache.commons:commons-compress --> 1.5.7-3 2.0.6 - 1.45.0 + 1.56.0 ${opentelemetry.version}-alpha 1.33.6 ${opentelemetry.instrumentation.version}-alpha From 54f96ec744d608ec85e129b1b046921ee1f571b9 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 13:13:12 +0200 Subject: [PATCH 02/10] Upgrade instrumentation and semconv --- distribution/server/src/assemble/LICENSE.bin.txt | 12 ++++++------ pom.xml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index ed99eb32f92fb..99c274fca395a 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -534,12 +534,12 @@ The Apache Software License, Version 2.0 - io.opentelemetry-opentelemetry-sdk-logs-1.56.0.jar - io.opentelemetry-opentelemetry-sdk-metrics-1.56.0.jar - io.opentelemetry-opentelemetry-sdk-trace-1.56.0.jar - - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-1.33.6.jar - - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-semconv-1.33.6-alpha.jar - - io.opentelemetry.instrumentation-opentelemetry-resources-1.33.6-alpha.jar - - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java17-1.33.6-alpha.jar - - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-1.33.6-alpha.jar - - io.opentelemetry.semconv-opentelemetry-semconv-1.29.0-alpha.jar + - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.21.0.jar + - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-semconv-2.21.0-alpha.jar + - io.opentelemetry.instrumentation-opentelemetry-resources-2.21.0-alpha.jar + - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java17-2.21.0-alpha.jar + - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-2.21.0-alpha.jar + - io.opentelemetry.semconv-opentelemetry-semconv-1.37.0.jar - com.google.cloud.opentelemetry-detector-resources-support-0.33.0.jar - io.opentelemetry.contrib-opentelemetry-gcp-resources-1.48.0-alpha.jar * Spotify completable-futures diff --git a/pom.xml b/pom.xml index f808e7bf1699c..dd00d18e59744 100644 --- a/pom.xml +++ b/pom.xml @@ -308,9 +308,9 @@ flexible messaging model and an intuitive client API. 2.0.6 1.56.0 ${opentelemetry.version}-alpha - 1.33.6 + 2.21.0 ${opentelemetry.instrumentation.version}-alpha - 1.29.0-alpha + 1.37.0 4.7.5 1.8 0.3.6 From 48abe65a4881e94b888935f6697ad170048763d5 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 13:28:25 +0200 Subject: [PATCH 03/10] Adapt to API changes --- .../pulsar/opentelemetry/OpenTelemetryService.java | 14 +++++++------- .../opentelemetry/OpenTelemetryServiceTest.java | 11 ++++------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java b/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java index e6c6d95273e0e..bab340eba7a47 100644 --- a/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java +++ b/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java @@ -28,7 +28,7 @@ import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder; import io.opentelemetry.sdk.common.export.MemoryMode; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.ServiceAttributes; import java.io.Closeable; import java.util.Map; import java.util.Objects; @@ -87,13 +87,13 @@ public OpenTelemetryService(String clusterName, resourceBuilder.put(OpenTelemetryAttributes.PULSAR_CLUSTER, clusterName); } if (StringUtils.isNotBlank(serviceName) - && Objects.equals(Resource.getDefault().getAttribute(ResourceAttributes.SERVICE_NAME), - resource.getAttribute(ResourceAttributes.SERVICE_NAME))) { - resourceBuilder.put(ResourceAttributes.SERVICE_NAME, serviceName); + && Objects.equals(Resource.getDefault().getAttribute(ServiceAttributes.SERVICE_NAME), + resource.getAttribute(ServiceAttributes.SERVICE_NAME))) { + resourceBuilder.put(ServiceAttributes.SERVICE_NAME, serviceName); } if (StringUtils.isNotBlank(serviceVersion) - && resource.getAttribute(ResourceAttributes.SERVICE_VERSION) == null) { - resourceBuilder.put(ResourceAttributes.SERVICE_VERSION, serviceVersion); + && resource.getAttribute(ServiceAttributes.SERVICE_VERSION) == null) { + resourceBuilder.put(ServiceAttributes.SERVICE_VERSION, serviceVersion); } return resource.merge(resourceBuilder.build()); }); @@ -123,7 +123,7 @@ public OpenTelemetryService(String clusterName, // disable JFR based telemetry and use only JMX telemetry .disableAllFeatures() // enable experimental JMX telemetry in addition - .enableExperimentalJmxTelemetry() + .emitExperimentalTelemetry() .build()); } diff --git a/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java b/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java index 99d4189d8f803..b7416854119fe 100644 --- a/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java +++ b/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java @@ -19,7 +19,6 @@ package org.apache.pulsar.opentelemetry; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; -import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongCounterBuilder; @@ -29,7 +28,7 @@ import io.opentelemetry.sdk.common.InstrumentationScopeInfo; import io.opentelemetry.sdk.metrics.export.MetricReader; import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.ServiceAttributes; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -38,7 +37,6 @@ import lombok.Cleanup; import org.apache.commons.lang3.StringUtils; import org.apache.pulsar.broker.stats.prometheus.PrometheusMetricsClient; -import org.assertj.core.api.AbstractCharSequenceAssert; import org.awaitility.Awaitility; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; @@ -98,7 +96,7 @@ public void testClusterNameCannotBeEmpty() { } @Test - public void testResourceAttributesAreSet() throws Exception { + public void testServiceAttributesAreSet() throws Exception { @Cleanup var reader = InMemoryMetricReader.create(); @@ -116,9 +114,8 @@ public void testResourceAttributesAreSet() throws Exception { .allSatisfy(metric -> assertThat(metric) .hasResourceSatisfying(resource -> resource .hasAttribute(OpenTelemetryAttributes.PULSAR_CLUSTER, "testServiceNameAndVersion") - .hasAttribute(ResourceAttributes.SERVICE_NAME, "openTelemetryServiceTestService") - .hasAttribute(ResourceAttributes.SERVICE_VERSION, "1.0.0") - .hasAttribute(satisfies(ResourceAttributes.HOST_NAME, AbstractCharSequenceAssert::isNotBlank)))); + .hasAttribute(ServiceAttributes.SERVICE_NAME, "openTelemetryServiceTestService") + .hasAttribute(ServiceAttributes.SERVICE_VERSION, "1.0.0"))); } @Test From c71f83986dcd5e0df59261005c33d5d775b5fa9d Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 15:40:22 +0200 Subject: [PATCH 04/10] Update license files --- distribution/server/src/assemble/LICENSE.bin.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 99c274fca395a..e57f728b35268 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -339,12 +339,12 @@ The Apache Software License, Version 2.0 - io.prometheus-simpleclient_tracer_otel-0.16.0.jar - io.prometheus-simpleclient_tracer_otel_agent-0.16.0.jar * Prometheus exporter - - io.prometheus-prometheus-metrics-config-1.3.4.jar - - io.prometheus-prometheus-metrics-exporter-common-1.3.4.jar - - io.prometheus-prometheus-metrics-exporter-httpserver-1.3.4.jar - - io.prometheus-prometheus-metrics-exposition-formats-1.3.4.jar - - io.prometheus-prometheus-metrics-model-1.3.4.jar - - io.prometheus-prometheus-metrics-exposition-textformats-1.3.4.jar + - io.prometheus-prometheus-metrics-config-1.3.10.jar + - io.prometheus-prometheus-metrics-exporter-common-1.3.10.jar + - io.prometheus-prometheus-metrics-exporter-httpserver-1.3.10.jar + - io.prometheus-prometheus-metrics-exposition-formats-1.3.10.jar + - io.prometheus-prometheus-metrics-model-1.3.10.jar + - io.prometheus-prometheus-metrics-exposition-textformats-1.3.10.jar * Jakarta Bean Validation API - jakarta.validation-jakarta.validation-api-2.0.2.jar - javax.validation-validation-api-1.1.0.Final.jar @@ -521,6 +521,7 @@ The Apache Software License, Version 2.0 * OpenTelemetry - io.opentelemetry-opentelemetry-api-1.56.0.jar - io.opentelemetry-opentelemetry-api-incubator-1.56.0-alpha.jar + - io.opentelemetry-opentelemetry-common-1.56.0.jar - io.opentelemetry-opentelemetry-context-1.56.0.jar - io.opentelemetry-opentelemetry-exporter-common-1.56.0.jar - io.opentelemetry-opentelemetry-exporter-otlp-1.56.0.jar @@ -535,7 +536,7 @@ The Apache Software License, Version 2.0 - io.opentelemetry-opentelemetry-sdk-metrics-1.56.0.jar - io.opentelemetry-opentelemetry-sdk-trace-1.56.0.jar - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.21.0.jar - - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-semconv-2.21.0-alpha.jar + - io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.21.0-alpha.jar - io.opentelemetry.instrumentation-opentelemetry-resources-2.21.0-alpha.jar - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java17-2.21.0-alpha.jar - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-2.21.0-alpha.jar From 1e632f65bd469b446bbbf9d701b60f9e71665e42 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 15:46:13 +0200 Subject: [PATCH 05/10] Align okhttp3 and okio versions --- .../server/src/assemble/LICENSE.bin.txt | 8 +++---- pom.xml | 22 +++++++------------ 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index e57f728b35268..6786971aeffe9 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -418,11 +418,11 @@ The Apache Software License, Version 2.0 * Google Error Prone Annotations - com.google.errorprone-error_prone_annotations-2.38.0.jar * Apache Thrift - org.apache.thrift-libthrift-0.14.2.jar * OkHttp3 - - com.squareup.okhttp3-logging-interceptor-4.9.3.jar - - com.squareup.okhttp3-okhttp-4.9.3.jar + - com.squareup.okhttp3-logging-interceptor-5.3.1.jar + - com.squareup.okhttp3-okhttp-5.3.1.jar * Okio - - com.squareup.okio-okio-3.4.0.jar - - com.squareup.okio-okio-jvm-3.4.0.jar + - com.squareup.okio-okio-3.16.3.jar + - com.squareup.okio-okio-jvm-3.16.3.jar * Javassist -- org.javassist-javassist-3.25.0-GA.jar * Kotlin Standard Lib - org.jetbrains.kotlin-kotlin-stdlib-1.8.20.jar diff --git a/pom.xml b/pom.xml index dd00d18e59744..1b8ec29b48d38 100644 --- a/pom.xml +++ b/pom.xml @@ -285,9 +285,9 @@ flexible messaging model and an intuitive client API. 5.12.1 18.0.0 0.9.4 - 4.9.3 + 5.3.1 - 3.4.0 + 3.16.3 1.8.20 1.0 @@ -1631,23 +1631,17 @@ flexible messaging model and an intuitive client API. com.squareup.okhttp3 - okhttp - ${okhttp3.version} - - - com.squareup.okhttp3 - okhttp-urlconnection - ${okhttp3.version} - - - com.squareup.okhttp3 - logging-interceptor + okhttp-bom ${okhttp3.version} + pom + import com.squareup.okio - okio + okio-bom ${okio.version} + pom + import From 62c7de3c0a9e1528c2cfe34e906311e67469a16c Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 15:52:13 +0200 Subject: [PATCH 06/10] Update license files --- distribution/server/src/assemble/LICENSE.bin.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 6786971aeffe9..aaf1f3ada4daa 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -342,7 +342,7 @@ The Apache Software License, Version 2.0 - io.prometheus-prometheus-metrics-config-1.3.10.jar - io.prometheus-prometheus-metrics-exporter-common-1.3.10.jar - io.prometheus-prometheus-metrics-exporter-httpserver-1.3.10.jar - - io.prometheus-prometheus-metrics-exposition-formats-1.3.10.jar + - io.prometheus-prometheus-metrics-exposition-formats-no-protobuf-1.3.10.jar - io.prometheus-prometheus-metrics-model-1.3.10.jar - io.prometheus-prometheus-metrics-exposition-textformats-1.3.10.jar * Jakarta Bean Validation API @@ -420,6 +420,7 @@ The Apache Software License, Version 2.0 * OkHttp3 - com.squareup.okhttp3-logging-interceptor-5.3.1.jar - com.squareup.okhttp3-okhttp-5.3.1.jar + - com.squareup.okhttp3-okhttp-jvm-5.3.1.jar * Okio - com.squareup.okio-okio-3.16.3.jar - com.squareup.okio-okio-jvm-3.16.3.jar @@ -427,8 +428,6 @@ The Apache Software License, Version 2.0 * Kotlin Standard Lib - org.jetbrains.kotlin-kotlin-stdlib-1.8.20.jar - org.jetbrains.kotlin-kotlin-stdlib-common-1.8.20.jar - - org.jetbrains.kotlin-kotlin-stdlib-jdk7-1.8.20.jar - - org.jetbrains.kotlin-kotlin-stdlib-jdk8-1.8.20.jar - org.jetbrains-annotations-13.0.jar * gRPC - io.grpc-grpc-all-1.75.0.jar From b8aa488ce8bc10de7043caa6ba760b2fa41a11a3 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 17:28:25 +0200 Subject: [PATCH 07/10] Fix shell license file --- distribution/shell/src/assemble/LICENSE.bin.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/shell/src/assemble/LICENSE.bin.txt b/distribution/shell/src/assemble/LICENSE.bin.txt index 23012055148ab..e54eb0edb01fe 100644 --- a/distribution/shell/src/assemble/LICENSE.bin.txt +++ b/distribution/shell/src/assemble/LICENSE.bin.txt @@ -391,6 +391,7 @@ The Apache Software License, Version 2.0 * OpenTelemetry - opentelemetry-api-1.56.0.jar - opentelemetry-api-incubator-1.56.0-alpha.jar + - opentelemetry-common-1.56.0.jar - opentelemetry-context-1.56.0.jar * BookKeeper From 6320ceb43af228535ff42bce743b4aafd6e87153 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 17:35:13 +0200 Subject: [PATCH 08/10] Replace deprecated property name for limiting cardinality --- .../org/apache/pulsar/opentelemetry/OpenTelemetryService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java b/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java index bab340eba7a47..fb8f4d46c308b 100644 --- a/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java +++ b/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java @@ -74,7 +74,7 @@ public OpenTelemetryService(String clusterName, sdkBuilder.addPropertiesSupplier(() -> Map.of( OTEL_SDK_DISABLED_KEY, "true", // Cardinality limit includes the overflow attribute set, so we need to add 1. - "otel.experimental.metrics.cardinality.limit", Integer.toString(MAX_CARDINALITY_LIMIT + 1), + "otel.java.metrics.cardinality.limit", Integer.toString(MAX_CARDINALITY_LIMIT + 1), // Reduce number of allocations by using reusable data mode. "otel.java.experimental.exporter.memory_mode", MemoryMode.REUSABLE_DATA.name() )); From ab6ace0b0676b9bb4adc21951a51d4476a0daf51 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 17:42:47 +0200 Subject: [PATCH 09/10] Fix test --- .../apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java b/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java index b7416854119fe..e3dd29cd1b23e 100644 --- a/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java +++ b/pulsar-opentelemetry/src/test/java/org/apache/pulsar/opentelemetry/OpenTelemetryServiceTest.java @@ -227,7 +227,7 @@ public void testJvmRuntimeMetrics() { // Buffer Pool Metrics // Replaces jvm_buffer_pool_used_bytes - assertThat(metrics).anySatisfy(metric -> assertThat(metric).hasName("jvm.buffer.memory.usage")); + assertThat(metrics).anySatisfy(metric -> assertThat(metric).hasName("jvm.buffer.memory.used")); // Replaces jvm_buffer_pool_capacity_bytes assertThat(metrics).anySatisfy(metric -> assertThat(metric).hasName("jvm.buffer.memory.limit")); // Replaces jvm_buffer_pool_used_buffers From 5c280940dfd15664b73224353a2fe3888ff626e4 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 17 Nov 2025 17:45:22 +0200 Subject: [PATCH 10/10] Use supported property name otel.java.exporter.memory_mode --- .../org/apache/pulsar/opentelemetry/OpenTelemetryService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java b/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java index fb8f4d46c308b..d143b743d3497 100644 --- a/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java +++ b/pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryService.java @@ -76,7 +76,7 @@ public OpenTelemetryService(String clusterName, // Cardinality limit includes the overflow attribute set, so we need to add 1. "otel.java.metrics.cardinality.limit", Integer.toString(MAX_CARDINALITY_LIMIT + 1), // Reduce number of allocations by using reusable data mode. - "otel.java.experimental.exporter.memory_mode", MemoryMode.REUSABLE_DATA.name() + "otel.java.exporter.memory_mode", MemoryMode.REUSABLE_DATA.name() )); sdkBuilder.addResourceCustomizer(