diff --git a/instrumentation/jmx-metrics/library/jvm.md b/instrumentation/jmx-metrics/library/jvm.md index c8cf98eaa2be..9ee419ade024 100644 --- a/instrumentation/jmx-metrics/library/jvm.md +++ b/instrumentation/jmx-metrics/library/jvm.md @@ -5,7 +5,7 @@ Here is the list of metrics based on MBeans exposed by the JVM and that are defi Those metrics are defined in the [JVM runtime metrics semantic conventions](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/). | Metric Name | semconv maturity | Type | Attributes | Description | -|---------------------------------------------------------------------------------------------------------------------------------------|:-----------------|---------------|---------------------------------------|----------------------------------------------------| +| ------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | ------------- | ------------------------------------- | -------------------------------------------------- | | [jvm.memory.used](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmmemoryused) | stable | UpDownCounter | jvm.memory.pool.name, jvm.memory.type | Used memory | | [jvm.memory.committed](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmmemorycommitted) | stable | UpDownCounter | jvm.memory.pool.name, jvm.memory.type | Committed memory | | [jvm.memory.limit](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmmemorylimit) | stable | UpDownCounter | jvm.memory.pool.name, jvm.memory.type | Max obtainable memory | @@ -17,6 +17,7 @@ Those metrics are defined in the [JVM runtime metrics semantic conventions](http | [jvm.class.count](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmclasscount) | stable | UpDownCounter | | Classes currently loaded count | | [jvm.cpu.count](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmcpucount) | stable | UpDownCounter | | Number of CPUs available | | [jvm.cpu.recent_utilization](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmcpurecent_utilization) | stable | Gauge | | Recent CPU utilization for process reported by JVM | +| [jvm.file_descriptor.count](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmfile_descriptorcount) | experimental | UpDownCounter | | Number of open file descriptors | | [jvm.system.cpu.load_1m](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmsystemcpuload_1m) | experimental | Gauge | | Average CPU load reported by JVM | | [jvm.system.cpu.recent_utilization](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmcpurecent_utilization) | experimental | Gauge | | Recent CPU utilization reported by JVM | | [jvm.buffer.memory.used](https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/#metric-jvmbuffermemoryused) | experimental | UpDownCounter | jvm.buffer.pool.name | Memory used by buffers | diff --git a/instrumentation/jmx-metrics/library/src/main/resources/jmx/rules/jvm.yaml b/instrumentation/jmx-metrics/library/src/main/resources/jmx/rules/jvm.yaml index 3be8dcd90571..0b7b7c90df3a 100644 --- a/instrumentation/jmx-metrics/library/src/main/resources/jmx/rules/jvm.yaml +++ b/instrumentation/jmx-metrics/library/src/main/resources/jmx/rules/jvm.yaml @@ -96,6 +96,12 @@ rules: type: gauge unit: '1' desc: Recent CPU utilization for the whole system as reported by the JVM. + # jvm.file_descriptor.count (experimental) + OpenFileDescriptorCount: + metric: file_descriptor.count + type: updowncounter + unit: "{file_descriptor}" + desc: Number of open file descriptors as reported by the JVM. - bean: java.nio:name=*,type=BufferPool prefix: jvm.buffer. diff --git a/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/JvmTargetSystemTest.java b/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/JvmTargetSystemTest.java index a272903162bb..99b7a1d56585 100644 --- a/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/JvmTargetSystemTest.java +++ b/instrumentation/jmx-metrics/library/src/test/java/io/opentelemetry/instrumentation/jmx/rules/JvmTargetSystemTest.java @@ -162,6 +162,14 @@ void testJvmMetrics(String image) { .hasUnit("1") .isGauge() .hasDataPointsWithoutAttributes()) + .add( + "jvm.file_descriptor.count", + metric -> + metric + .hasDescription("Number of open file descriptors as reported by the JVM.") + .hasUnit("{file_descriptor}") + .isUpDownCounter() + .hasDataPointsWithoutAttributes()) .add( "jvm.system.cpu.load_1m", metric ->