Class MemoryPools
java.lang.Object
io.opentelemetry.instrumentation.runtimemetrics.java8.MemoryPools
Registers measurements that generate metrics about JVM memory pools.
Example usage:
MemoryPools.registerObservers(GlobalOpenTelemetry.get());
Example metrics being exported: Component
process.runtime.jvm.memory.init{type="heap",pool="G1 Eden Space"} 1000000
process.runtime.jvm.memory.usage{type="heap",pool="G1 Eden Space"} 2500000
process.runtime.jvm.memory.committed{type="heap",pool="G1 Eden Space"} 3000000
process.runtime.jvm.memory.limit{type="heap",pool="G1 Eden Space"} 4000000
process.runtime.jvm.memory.usage_after_last_gc{type="heap",pool="G1 Eden Space"} 1500000
process.runtime.jvm.memory.init{type="non_heap",pool="Metaspace"} 200
process.runtime.jvm.memory.usage{type="non_heap",pool="Metaspace"} 400
process.runtime.jvm.memory.committed{type="non_heap",pool="Metaspace"} 500
In case you enable the preview of stable JVM semantic conventions (e.g. by setting the
otel.semconv-stability.opt-in system property to jvm), the metrics being exported will
follow the
most recent JVM semantic conventions. This is how the example above looks when stable JVM
semconv is enabled:
jvm.memory.used{type="heap",pool="G1 Eden Space"} 2500000
jvm.memory.committed{type="heap",pool="G1 Eden Space"} 3000000
jvm.memory.limit{type="heap",pool="G1 Eden Space"} 4000000
jvm.memory.used_after_last_gc{type="heap",pool="G1 Eden Space"} 1500000
jvm.memory.used{type="non_heap",pool="Metaspace"} 400
jvm.memory.committed{type="non_heap",pool="Metaspace"} 500
-
Method Summary
Modifier and TypeMethodDescriptionstatic List<AutoCloseable>registerObservers(io.opentelemetry.api.OpenTelemetry openTelemetry) Register observers for java runtime memory metrics.
-
Method Details
-
registerObservers
public static List<AutoCloseable> registerObservers(io.opentelemetry.api.OpenTelemetry openTelemetry) Register observers for java runtime memory metrics.
-