diff --git a/jmx-metrics/src/integrationTest/java/io/opentelemetry/contrib/jmxmetrics/target_systems/JvmTargetSystemIntegrationTest.java b/jmx-metrics/src/integrationTest/java/io/opentelemetry/contrib/jmxmetrics/target_systems/JvmTargetSystemIntegrationTest.java index 682e23957..b913e4c67 100644 --- a/jmx-metrics/src/integrationTest/java/io/opentelemetry/contrib/jmxmetrics/target_systems/JvmTargetSystemIntegrationTest.java +++ b/jmx-metrics/src/integrationTest/java/io/opentelemetry/contrib/jmxmetrics/target_systems/JvmTargetSystemIntegrationTest.java @@ -55,6 +55,7 @@ void endToEnd() { metric -> assertGauge(metric, "jvm.memory.nonheap.init", "current non-heap usage", "By"), metric -> assertGauge(metric, "jvm.memory.nonheap.max", "current non-heap usage", "By"), metric -> assertGauge(metric, "jvm.memory.nonheap.used", "current non-heap usage", "By"), + metric -> assertGauge(metric, "jvm.file_descriptor.count", "open file descriptors", "1"), metric -> assertTypedGauge( metric, "jvm.memory.pool.committed", "current memory pool usage", "By", gcLabels), diff --git a/jmx-metrics/src/main/resources/target-systems/jvm.groovy b/jmx-metrics/src/main/resources/target-systems/jvm.groovy index 73e33b0d5..6d01a413a 100644 --- a/jmx-metrics/src/main/resources/target-systems/jvm.groovy +++ b/jmx-metrics/src/main/resources/target-systems/jvm.groovy @@ -33,6 +33,11 @@ otel.instrument(memory, "jvm.memory.heap", "current heap usage", otel.instrument(memory, "jvm.memory.nonheap", "current non-heap usage", "By", "NonHeapMemoryUsage", otel.&longValueCallback) +def os = otel.mbean("java.lang:type=OperatingSystem") +otel.instrument(os, "jvm.file_descriptor.count", "open file descriptors", + "1", "OpenFileDescriptorCount", otel.&longValueCallback) + + def memoryPool = otel.mbeans("java.lang:type=MemoryPool,*") otel.instrument(memoryPool, "jvm.memory.pool", "current memory pool usage", "By", ["name" : { mbean -> mbean.name().getKeyProperty("name") }], diff --git a/jmx-scraper/src/main/resources/jvm.yaml b/jmx-scraper/src/main/resources/jvm.yaml index 733e679fd..4a3572ffc 100644 --- a/jmx-scraper/src/main/resources/jvm.yaml +++ b/jmx-scraper/src/main/resources/jvm.yaml @@ -83,6 +83,13 @@ rules: metric: jvm.memory.pool.used desc: current memory pool usage + - bean: java.lang:type=OperatingSystem + mapping: + OpenFileDescriptorCount: + metric: jvm.file_descriptor.count + unit: 1 + desc: open file descriptors + - bean: java.lang:type=Threading mapping: ThreadCount: