diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
index 6f5ae6e44ba7f..aaf1f3ada4daa 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-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
- jakarta.validation-jakarta.validation-api-2.0.2.jar
- javax.validation-validation-api-1.1.0.Final.jar
@@ -418,17 +418,16 @@ 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
+ - com.squareup.okhttp3-okhttp-jvm-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
- 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
@@ -519,27 +518,28 @@ 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.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-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
+ - 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-2.21.0.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
+ - 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/distribution/shell/src/assemble/LICENSE.bin.txt b/distribution/shell/src/assemble/LICENSE.bin.txt
index 56aa6e2257e36..e54eb0edb01fe 100644
--- a/distribution/shell/src/assemble/LICENSE.bin.txt
+++ b/distribution/shell/src/assemble/LICENSE.bin.txt
@@ -389,9 +389,10 @@ 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-common-1.56.0.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..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
@@ -306,11 +306,11 @@ 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
+ 2.21.0
${opentelemetry.instrumentation.version}-alpha
- 1.29.0-alpha
+ 1.37.0
4.7.5
1.8
0.3.6
@@ -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
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..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
@@ -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;
@@ -74,9 +74,9 @@ 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()
+ "otel.java.exporter.memory_mode", MemoryMode.REUSABLE_DATA.name()
));
sdkBuilder.addResourceCustomizer(
@@ -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..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
@@ -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
@@ -230,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