Monitoring Java virtual machine (JVM) by using OpenTelemetry
Instana provides a holistic view of JVM metrics that are collected by using OpenTelemetry. After you integrate OpenTelemetry with Instana, you can view these metrics in the Instana UI.
Instana supports standard OpenTelemetry Java automatic or manual instrumentation. For more information, see OpenTelemetry official documents.
Before you begin
Ensure that the following requirements are met:
-
OpenTelemetry is integrated with Instana. For more information about how to use the OpenTelemetry Java auto-instrumentation to send data to Instana, see Quick start demo of OpenTelemetry Instana integration.
-
The most recent version of the OpenTelemetry instrumentation tool is used. For example, Java Agent for OpenTelemetry auto-instrumentation, which has rich resource attributes for Instana service mapping and infrastructure entity correlation.
Vendor-provided solutions are available for OpenTelemetry. For example, Spring provides its own built-in OpenTelemetry solution.
Viewing JVM metrics
To view JVM metrics, complete the following steps:
- From the navigation menu in the Instana UI, click Infrastructure > Analyze infrastructure.
- Select OTEL JVM from the list of types of the entities.
- Click the instance.
The OTEL JVM dashboard displays all the collected metrics for the instance. The following image displays a typical OTEL JVM instance dashboard:
Performance metrics
Metrics | Description | Source |
---|---|---|
Total Heap Usage | The amount of heap memory currently being used. | Derived from the jvm.memory.used metric. |
Thread States | The number of platform threads in the runtime. | Derived from the jvm.thread.count metric. |
Heap Memory | The amount of heap memory that is used in absolute terms and as a percentage of the total heap. | Derived from the jvm.memory.used metric. |
Memory Pools | The measure of current and maximum memory that is used for different memory pools. | Derived from jvm.memory.max . |
Garbage Collected Heap Memory | The measure of memory used, as measured after the most recent Garbage Collection event on this pool. | Derived from the metric jvm.memory.used_after_last_gc. |