diff --git a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt
index f66fb0c91a7..207660d466d 100644
--- a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt
+++ b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt
@@ -333,34 +333,33 @@ Apache Software License, Version 2.
- lib/com.carrotsearch-hppc-0.9.1.jar [53]
- lib/com.squareup.okhttp3-okhttp-jvm-5.3.1.jar [54]
- lib/com.squareup.okio-okio-jvm-3.16.3.jar [54]
-- lib/io.opentelemetry-opentelemetry-api-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-api-incubator-1.56.0-alpha.jar [55]
-- lib/io.opentelemetry-opentelemetry-common-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-context-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-exporter-common-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-exporter-otlp-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-exporter-otlp-common-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-exporter-prometheus-1.56.0-alpha.jar [55]
-- lib/io.opentelemetry-opentelemetry-exporter-sender-okhttp-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-common-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-logs-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-trace-1.56.0.jar [55]
-- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.52.0-alpha.jar [55]
-- lib/io.opentelemetry.semconv-opentelemetry-semconv-1.37.0.jar [55]
-- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.21.0.jar [59]
-- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.21.0-alpha.jar [59]
-- lib/io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-2.21.0-alpha.jar [59]
-- lib/com.google.cloud.opentelemetry-detector-resources-support-0.36.0.jar [55]
-- lib/io.prometheus-prometheus-metrics-config-1.3.10.jar [60]
-- lib/io.prometheus-prometheus-metrics-exporter-common-1.3.10.jar [60]
-- lib/io.prometheus-prometheus-metrics-exporter-httpserver-1.3.10.jar [60]
-- lib/io.prometheus-prometheus-metrics-exposition-formats-no-protobuf-1.3.10.jar [60]
-- lib/io.prometheus-prometheus-metrics-exposition-textformats-1.3.10.jar [60]
-- lib/io.prometheus-prometheus-metrics-model-1.3.10.jar [60]
+- lib/io.opentelemetry-opentelemetry-api-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-api-incubator-1.61.0-alpha.jar [55]
+- lib/io.opentelemetry-opentelemetry-common-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-context-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-exporter-common-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-exporter-otlp-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-exporter-otlp-common-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-exporter-prometheus-1.61.0-alpha.jar [55]
+- lib/io.opentelemetry-opentelemetry-exporter-sender-okhttp-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-common-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-logs-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-trace-1.61.0.jar [55]
+- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.56.0-alpha.jar [55]
+- lib/io.opentelemetry.semconv-opentelemetry-semconv-1.41.0.jar [55]
+- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.27.0.jar [59]
+- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.27.0-alpha.jar [59]
+- lib/io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-2.27.0-alpha.jar [59]
+- lib/io.prometheus-prometheus-metrics-config-1.5.1.jar [60]
+- lib/io.prometheus-prometheus-metrics-exporter-common-1.5.1.jar [60]
+- lib/io.prometheus-prometheus-metrics-exporter-httpserver-1.5.1.jar [60]
+- lib/io.prometheus-prometheus-metrics-exposition-formats-no-protobuf-1.5.1.jar [60]
+- lib/io.prometheus-prometheus-metrics-exposition-textformats-1.5.1.jar [60]
+- lib/io.prometheus-prometheus-metrics-model-1.5.1.jar [60]
- lib/org.jetbrains-annotations-13.0.jar [56]
- lib/org.jetbrains.kotlin-kotlin-stdlib-2.2.21.jar [56]
- lib/com.lmax-disruptor-4.0.0.jar [57]
@@ -414,12 +413,12 @@ Apache Software License, Version 2.
[52] Source available at https://github.com/HdrHistogram/HdrHistogram/tree/HdrHistogram-2.1.10
[53] Source available at https://github.com/carrotsearch/hppc/tree/0.9.1
[54] Source available at https://github.com/square/okio/releases/tag/parent-3.16.3
-[55] Source available at https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.56.0
+[55] Source available at https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.61.0
[56] Source available at https://github.com/JetBrains/kotlin/releases/tag/v2.2.21
[57] Source available at https://github.com/LMAX-Exchange/disruptor/releases/tag/4.0.0
[58] Source available at https://github.com/apache/commons-lang/tree/rel/commons-lang-3.20.0
-[59] Source available at https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/v2.21.0
-[60] Source available at https://github.com/prometheus/client_java/tree/v1.3.10
+[59] Source available at https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/v2.27.0
+[60] Source available at https://github.com/prometheus/client_java/tree/v1.5.1
[61] Source available at https://github.com/apache/commons-text/tree/rel/commons-text-1.13.1
[62] Source available at https://github.com/apache/commons-beanutils/tree/rel/commons-beanutils-1.11.0
[63] Source available at https://github.com/googleapis/sdk-platform-java/tree/v2.53.0/api-common-java
diff --git a/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt
index 8b39fb9a5dd..808babc8d6b 100644
--- a/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt
+++ b/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt
@@ -295,21 +295,20 @@ Apache Software License, Version 2.
- lib/io.reactivex.rxjava3-rxjava-3.0.1.jar [51]
- lib/com.carrotsearch-hppc-0.9.1.jar [52]
- lib/com.lmax-disruptor-4.0.0.jar [53]
-- lib/io.opentelemetry-opentelemetry-api-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-common-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-context-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-api-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-common-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-context-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-common-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-logs-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.56.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-trace-1.56.0.jar [55]
-- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.52.0-alpha.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.56.0.jar [55]
-- lib/com.google.cloud.opentelemetry-detector-resources-support-0.36.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-api-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-common-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-context-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-api-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-common-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-context-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-common-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-logs-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.61.0.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-trace-1.61.0.jar [55]
+- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.56.0-alpha.jar [55]
+- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.61.0.jar [55]
[1] Source available at https://github.com/FasterXML/jackson-annotations/tree/jackson-annotations-2.17.1
[2] Source available at https://github.com/FasterXML/jackson-core/tree/jackson-core-2.17.1
@@ -351,7 +350,7 @@ Apache Software License, Version 2.
[51] Source available at https://github.com/ReactiveX/RxJava/tree/v3.0.1
[52] Source available at https://github.com/carrotsearch/hppc/tree/0.9.1
[53] Source available at https://github.com/LMAX-Exchange/disruptor/releases/tag/4.0.0
-[54] Source available at https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.56.0
+[54] Source available at https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.61.0
[55] Source available at https://github.com/apache/commons-lang/tree/rel/commons-lang-3.20.0
[56] Source available at https://github.com/apache/commons-text/tree/rel/commons-text-1.13.1
[57] Source available at https://github.com/apache/commons-beanutils/tree/rel/commons-beanutils-1.11.0
diff --git a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt
index 362493a0515..b9f76c2ef34 100644
--- a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt
+++ b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt
@@ -329,34 +329,33 @@ Apache Software License, Version 2.
- lib/com.carrotsearch-hppc-0.9.1.jar [52]
- lib/com.squareup.okhttp3-okhttp-jvm-5.3.1.jar [53]
- lib/com.squareup.okio-okio-jvm-3.16.3.jar [53]
-- lib/io.opentelemetry-opentelemetry-api-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-api-incubator-1.56.0-alpha.jar [54]
-- lib/io.opentelemetry-opentelemetry-common-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-context-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-exporter-common-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-exporter-otlp-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-exporter-otlp-common-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-exporter-prometheus-1.56.0-alpha.jar [54]
-- lib/io.opentelemetry-opentelemetry-exporter-sender-okhttp-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-common-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-logs-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.56.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-sdk-trace-1.56.0.jar [54]
-- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.21.0.jar [58]
-- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.21.0-alpha.jar [58]
-- lib/io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-2.21.0-alpha.jar [58]
-- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.52.0-alpha.jar [54]
-- lib/io.opentelemetry.semconv-opentelemetry-semconv-1.37.0.jar [54]
-- lib/com.google.cloud.opentelemetry-detector-resources-support-0.36.0.jar [54]
-- lib/io.prometheus-prometheus-metrics-config-1.3.10.jar [59]
-- lib/io.prometheus-prometheus-metrics-exporter-common-1.3.10.jar [59]
-- lib/io.prometheus-prometheus-metrics-exporter-httpserver-1.3.10.jar [59]
-- lib/io.prometheus-prometheus-metrics-exposition-formats-no-protobuf-1.3.10.jar [59]
-- lib/io.prometheus-prometheus-metrics-exposition-textformats-1.3.10.jar [59]
-- lib/io.prometheus-prometheus-metrics-model-1.3.10.jar [59]
+- lib/io.opentelemetry-opentelemetry-api-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-api-incubator-1.61.0-alpha.jar [54]
+- lib/io.opentelemetry-opentelemetry-common-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-context-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-exporter-common-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-exporter-otlp-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-exporter-otlp-common-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-exporter-prometheus-1.61.0-alpha.jar [54]
+- lib/io.opentelemetry-opentelemetry-exporter-sender-okhttp-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-common-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-logs-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.61.0.jar [54]
+- lib/io.opentelemetry-opentelemetry-sdk-trace-1.61.0.jar [54]
+- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.27.0.jar [58]
+- lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.27.0-alpha.jar [58]
+- lib/io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-2.27.0-alpha.jar [58]
+- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.56.0-alpha.jar [54]
+- lib/io.opentelemetry.semconv-opentelemetry-semconv-1.41.0.jar [54]
+- lib/io.prometheus-prometheus-metrics-config-1.5.1.jar [59]
+- lib/io.prometheus-prometheus-metrics-exporter-common-1.5.1.jar [59]
+- lib/io.prometheus-prometheus-metrics-exporter-httpserver-1.5.1.jar [59]
+- lib/io.prometheus-prometheus-metrics-exposition-formats-no-protobuf-1.5.1.jar [59]
+- lib/io.prometheus-prometheus-metrics-exposition-textformats-1.5.1.jar [59]
+- lib/io.prometheus-prometheus-metrics-model-1.5.1.jar [59]
- lib/org.jetbrains-annotations-13.0.jar [55]
- lib/org.jetbrains.kotlin-kotlin-stdlib-2.2.21.jar [55]
- lib/com.lmax-disruptor-4.0.0.jar [56]
@@ -409,12 +408,12 @@ Apache Software License, Version 2.
[51] Source available at https://github.com/ReactiveX/RxJava/tree/v3.0.1
[52] Source available at https://github.com/carrotsearch/hppc/tree/0.9.1
[53] Source available at https://github.com/square/okio/releases/tag/parent-3.16.3
-[54] Source available at https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.56.0
+[54] Source available at https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.61.0
[55] Source available at https://github.com/JetBrains/kotlin/releases/tag/v2.2.21
[56] Source available at https://github.com/LMAX-Exchange/disruptor/releases/tag/4.0.0
[57] Source available at https://github.com/apache/commons-lang/tree/rel/commons-lang-3.20.0
-[58] Source available at https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/v2.21.0
-[59] Source available at https://github.com/prometheus/client_java/tree/v1.3.10
+[58] Source available at https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/v2.27.0
+[59] Source available at https://github.com/prometheus/client_java/tree/v1.5.1
[60] Source available at https://github.com/apache/commons-text/tree/rel/commons-text-1.13.1
[61] Source available at https://github.com/apache/commons-beanutils/tree/rel/commons-beanutils-1.11.0
[62] Source available at https://github.com/googleapis/sdk-platform-java/tree/v2.53.0/api-common-java
diff --git a/pom.xml b/pom.xml
index d18f145ed76..68d5e0ecb40 100644
--- a/pom.xml
+++ b/pom.xml
@@ -227,10 +227,10 @@
1
4.0.0
3.0.1
- 1.56.0
- 2.21.0
- 1.37.0
- 1.52.0
+ 1.61.0
+ 2.27.0
+ 1.41.0
+ 1.56.0
5.3.1
3.16.3
diff --git a/stats/bookkeeper-stats-providers/otel-metrics-provider/pom.xml b/stats/bookkeeper-stats-providers/otel-metrics-provider/pom.xml
index 796fcef49e2..5310fe9f402 100644
--- a/stats/bookkeeper-stats-providers/otel-metrics-provider/pom.xml
+++ b/stats/bookkeeper-stats-providers/otel-metrics-provider/pom.xml
@@ -49,7 +49,7 @@
io.opentelemetry.instrumentation
- opentelemetry-runtime-telemetry-java8
+ opentelemetry-runtime-telemetry
io.opentelemetry
diff --git a/stats/bookkeeper-stats-providers/otel-metrics-provider/src/main/java/org/apache/bookkeeper/stats/otel/OtelMetricsProvider.java b/stats/bookkeeper-stats-providers/otel-metrics-provider/src/main/java/org/apache/bookkeeper/stats/otel/OtelMetricsProvider.java
index f812151d6d7..4d1c379f30a 100644
--- a/stats/bookkeeper-stats-providers/otel-metrics-provider/src/main/java/org/apache/bookkeeper/stats/otel/OtelMetricsProvider.java
+++ b/stats/bookkeeper-stats-providers/otel-metrics-provider/src/main/java/org/apache/bookkeeper/stats/otel/OtelMetricsProvider.java
@@ -22,14 +22,13 @@
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.metrics.Meter;
-import io.opentelemetry.instrumentation.runtimemetrics.java8.Classes;
-import io.opentelemetry.instrumentation.runtimemetrics.java8.Cpu;
-import io.opentelemetry.instrumentation.runtimemetrics.java8.GarbageCollector;
-import io.opentelemetry.instrumentation.runtimemetrics.java8.MemoryPools;
-import io.opentelemetry.instrumentation.runtimemetrics.java8.Threads;
-import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.ExperimentalBufferPools;
+import io.opentelemetry.instrumentation.runtimetelemetry.RuntimeTelemetry;
+import io.opentelemetry.instrumentation.runtimetelemetry.RuntimeTelemetryBuilder;
+import io.opentelemetry.instrumentation.runtimetelemetry.internal.Experimental;
+import io.opentelemetry.instrumentation.runtimetelemetry.internal.Internal;
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
import io.opentelemetry.sdk.metrics.Aggregation;
+import io.opentelemetry.sdk.metrics.ExplicitBucketHistogramOptions;
import io.opentelemetry.sdk.metrics.InstrumentSelector;
import io.opentelemetry.sdk.metrics.InstrumentType;
import io.opentelemetry.sdk.metrics.View;
@@ -83,7 +82,10 @@ public class OtelMetricsProvider implements StatsProvider {
.setType(InstrumentType.HISTOGRAM)
.build(),
View.builder()
- .setAggregation(Aggregation.explicitBucketHistogram(histogramBuckets))
+ .setAggregation(Aggregation.explicitBucketHistogram(
+ ExplicitBucketHistogramOptions.builder()
+ .setBucketBoundaries(histogramBuckets)
+ .build()))
.build())
).build();
@@ -95,13 +97,12 @@ public class OtelMetricsProvider implements StatsProvider {
public void start(Configuration conf) {
boolean exposeDefaultJVMMetrics = conf.getBoolean("exposeDefaultJVMMetrics", true);
if (exposeDefaultJVMMetrics) {
- // Include standard JVM stats
- MemoryPools.registerObservers(openTelemetry);
- ExperimentalBufferPools.registerObservers(openTelemetry);
- Classes.registerObservers(openTelemetry);
- Cpu.registerObservers(openTelemetry);
- Threads.registerObservers(openTelemetry);
- GarbageCollector.registerObservers(openTelemetry, true);
+ // Include standard JVM stats (memory pools, classes, CPU, threads, GC)
+ // plus experimental buffer pool metrics, with GC cause attribute capture.
+ RuntimeTelemetryBuilder runtimeTelemetryBuilder = RuntimeTelemetry.builder(openTelemetry);
+ Experimental.setEmitExperimentalMetrics(runtimeTelemetryBuilder, true);
+ Internal.setCaptureGcCause(runtimeTelemetryBuilder, true);
+ runtimeTelemetryBuilder.build();
meter.gaugeBuilder("process.runtime.jvm.memory.direct_bytes_used")
.buildWithCallback(odm -> odm.record(getDirectMemoryUsage.get()));