{
  "configurations": [
    {
      "declarative_name": "java.jmx.config",
      "default": "",
      "description": "List of paths to JMX metric definition YAML files.",
      "name": "otel.jmx.config",
      "type": "list"
    },
    {
      "declarative_name": "java.jmx.discovery.delay",
      "default": 60000,
      "description": "Time in milliseconds between JMX MBean detection attempts.",
      "name": "otel.jmx.discovery.delay",
      "type": "int"
    },
    {
      "declarative_name": "java.jmx.enabled",
      "default": true,
      "description": "Enables collection of JMX metrics.",
      "name": "otel.jmx.enabled",
      "type": "boolean"
    },
    {
      "declarative_name": "java.jmx.metrics.excluded",
      "default": "",
      "description": "Comma-separated list of case-sensitive glob patterns for metric names not to collect. \"*\" matches any number of characters and \"?\" matches one character. Excluded patterns take precedence over included patterns. When no included patterns are configured, all metrics that are not excluded are collected. With neither selector property configured, all metrics are collected.",
      "examples": [
        "jvm.memory.limit,kafka.connect.*"
      ],
      "name": "otel.jmx.metrics.excluded",
      "type": "list"
    },
    {
      "declarative_name": "java.jmx.metrics.experimental.included",
      "default": "",
      "description": "Comma-separated list of case-sensitive glob patterns for unstable (experimental) bundled metric names to opt in to. \"*\" matches any number of characters and \"?\" matches one character. Normal metric include and exclude filters also apply. Custom metric definitions do not require experimental opt-in.",
      "examples": [
        "jetty.*,kafka.*"
      ],
      "name": "otel.jmx.metrics.experimental.included",
      "type": "list"
    },
    {
      "declarative_name": "java.jmx.metrics.included",
      "default": "",
      "description": "Comma-separated list of case-sensitive glob patterns for metric names to collect. \"*\" matches any number of characters and \"?\" matches one character. Excluded patterns take precedence over included patterns. When no included patterns are configured, all metrics that are not excluded are collected. With neither selector property configured, all metrics are collected.",
      "examples": [
        "jvm.memory.*,jvm.thread.count"
      ],
      "name": "otel.jmx.metrics.included",
      "type": "list"
    },
    {
      "declarative_name": "java.jmx.target.system",
      "default": "",
      "deprecated": true,
      "description": "Deprecated list of predefined JMX target systems to collect metrics for, including their unstable metrics. Used when `otel.jmx.metrics.experimental.included` is empty. A nonempty experimental inclusion takes precedence. Remove this setting to use automatic stable metric collection and select unstable metrics by name. This setting will be removed in 3.0.",
      "name": "otel.jmx.target.system",
      "type": "list"
    }
  ],
  "description": "Collects and reports metrics exposed through Java Management Extensions (JMX). It can be configured to extract JVM and application-level telemetry data from JMX MBeans such as memory usage, thread counts, and garbage collection statistics, and translate these measurements into OpenTelemetry metrics. Collected metrics can be filtered by name using include and exclude patterns.",
  "display_name": "JMX Metrics",
  "has_javaagent": true,
  "has_standalone_library": true,
  "name": "jmx-metrics",
  "scope": {
    "name": "io.opentelemetry.jmx-metrics"
  },
  "source_path": "instrumentation/jmx-metrics"
}