Introduction
The OpenTelemetry Contrib JMX Receiver is a component used to collect metrics from Java applications exposed via JMX (Java Management Extensions). It gathers key JVM metrics (e.g., memory usage, garbage collection, thread count) and custom application metrics. The receiver simplifies the integration of JMX with OpenTelemetry, enabling seamless metric collection from Java-based services.
Key Features:
- Collects standard JVM metrics (e.g., memory, threads, GC statistics).
- Supports custom application metrics via JMX beans.
- Configurable to choose which metrics to collect.
- Exports metrics to backend systems like Prometheus or others through OpenTelemetry pipelines.
The Metric Gatherer in OpenTelemetry is responsible for collecting, processing, and exporting metrics. It aggregates data from multiple sources, including the JMX Receiver, formats it appropriately, and forwards it to monitoring backends for analysis.
In summary, the JMX Receiver focuses on collecting Java-specific metrics, while the Metric Gatherer handles the processing and exporting of those metrics.
Note
- So far, we have successfully tested this setup with the Kafka workload.
- In the workload configuration, the workload type must be specified as
<workload-name>/jmx
.