Caution
The Splunk Distribution of OpenTelemetry Java version 1.x is deprecated as of June 25, 2024 and will reach End of Support on June 30, 2025. Until then, only critical security fixes and bug fixes will be provided.
New customers should use the latest version of the Splunk Distribution of OpenTelemetry Java. Existing customers should consider migrating to version 2.5.0 or higher. To learn how to migrate, see Migration guide for OpenTelemetry Java 2.x metrics.
Metrics collected by the Splunk OTel Java agent 1.x (Deprecated) π
The agent of the Splunk Distribution of OpenTelemetry Java 1.x collects the following application metrics data and attributes in addition to all that the upstream OpenTelemetry agent collects. To learn about the different metric types, see Metric types.
Note
To migrate from OpenTelemetry native metrics, see Migration guide for OpenTelemetry Java 2.x metrics.
Application metrics π
The agent of the Splunk Distribution of OpenTelemetry Java 1.x collects the following application metrics.
Default metric dimensions π
The following dimensions are automatically added to all metrics exported by the agent:
Dimension |
Description |
---|---|
|
Value of the |
|
Value of the |
|
The Java process identifier (PID). |
|
Identifier of the container, if applicable. |
|
Name of the host. |
|
Value of the |
Supported libraries π
The agent collects the following metrics through the following libraries:
Library/Framework |
Instrumentation |
Supported versions |
---|---|---|
|
Java runtimes version 8 and higher |
|
|
Version 2.0 and higher |
|
|
Version 0.9.5 and higher |
|
|
Version 3.0 and higher |
|
|
Version 11.2.0.4 and higher |
|
|
Version 8.5 and higher |
|
|
Version 20.0 and higher |
|
|
Version 8.5 and higher |
|
|
Version 20.0.0.12 |
|
|
Versions 12.x and 14.x |
JVM metrics π
The Splunk OTel Java agent 1.x collects the following Java Virtual Machine (JVM) metrics when metric collection is activated.
ClassLoader metrics π
The agent collects the following ClassLoader metrics:
Metric |
Type |
Description |
---|---|---|
|
Gauge |
Number of loaded classes. |
|
Counter |
Total number of unloaded classes since the process started. |
Garbage collection metrics π
The agent collects the following garbage collection (GC) metrics:
Metric |
Type |
Description |
---|---|---|
|
Timer |
Time spent in concurrent phase, in milliseconds. |
|
Gauge |
Size of long-lived heap memory pool after reclamation, in bytes. |
|
Gauge |
Maximum size of long-lived heap memory pool, in bytes. |
|
Counter |
Increase in the size of the young heap memory pool after one garbage collection and before the next. |
|
Counter |
Count of positive increases in the size of the old generation memory pool from before to after garbage collection. |
|
Timer |
Time spent in garbage collection pause, in seconds. It produces multiple aggregations, such as |
Heap pressure metrics π
The agent collects the following heap pressure metrics:
Metric |
Type |
Description |
---|---|---|
|
Gauge |
An approximation of the percentage of CPU time used by GC activities over the last lookback period or since monitoring began, whichever is shorter, in the range [0..1]. |
|
Gauge |
The percentage of long-lived heap pool used after the last GC event, in the range [0..1]. |
Memory metrics π
The agent collects the following memory metrics:
Metric |
Type |
Description |
---|---|---|
|
Counter |
|
|
Counter |
|
|
Gauge |
An estimate of the number of buffers in the pool. |
|
Gauge |
An estimate of the memory that the JVM is using for this buffer pool, in bytes. |
|
Gauge |
An estimate of the total capacity of the buffers in this pool, in bytes. |
|
Gauge |
Amount of memory available to the JVM, in bytes. |
|
Gauge |
Maximum amount of memory available for memory management, in bytes. |
|
Gauge |
Amount of used memory, in bytes. |
All memory pool metrics share the following tags:
Tag |
Value |
---|---|
|
Either |
|
Name of the memory pool. For example, |
Thread metrics π
The agent collects the following thread metrics:
Metric |
Type |
Description |
---|---|---|
|
Gauge |
Number of live daemon threads. |
|
Gauge |
Number of live threads, including both daemon and nondaemon threads. |
|
Gauge |
Peak live thread count since the JVM started or peak was reset. |
|
Gauge |
Number of threads per |
Connection pool metrics π
The Splunk Distribution of OpenTelemetry Java 1.x instruments several Java Database Connectivity (JDBC) connection pool implementations:
Apache DBCP2
c3p0
HikariCP
Oracle Universal Connection Pool (UCP)
Tomcat JDBC
Vibur DBCP
WebSphere Liberty
WebLogic thread pools
Each of the connection pools reports a subset of the following metrics:
Metric |
Type |
Description |
---|---|---|
|
Gauge |
Number of open connections. |
|
Gauge |
Number of open connections that are in use. |
|
Gauge |
Number of open connections that are idle. |
|
Gauge |
Maximum number of idle open connections allowed. |
|
Gauge |
Minimum number of idle open connections allowed. |
|
Gauge |
Maximum number of open connections allowed. |
|
Gauge |
Number of threads that are waiting for an open connection. |
|
Counter |
Number of connection timeouts that have happened since the application started. |
|
Timer |
Time it took to create a new connection. |
|
Timer |
Time it took to get an open connection from the pool. |
|
Timer |
Time between borrowing a connection and returning it to the pool. |
All connection pool metrics share the following tags:
Tag |
Value |
---|---|
|
Name of the connection pool. Spring bean name if Spring is used, JMX object name otherwise. |
|
Type or implementation of the connection pool. For example, |
Thread pool metrics π
The Splunk Distribution of OpenTelemetry Java 1.x instruments the following thread pool implementations:
Tomcat connector thread pools
WebSphere Liberty web request thread pool
Weblogic thread pools
Each of the supported connection pools reports a subset of the following metrics:
Metric |
Type |
Description |
---|---|---|
|
Timer |
Number of threads in the pool. |
|
Timer |
Number of threads that are executing code. |
|
Timer |
Number of threads that arenβt executing code. |
|
Timer |
Core thread pool size, expressed as the number of threads that are always kept in the pool. |
|
Timer |
Maximum number of threads in the pool. |
|
Counter |
Total number of tasks submitted to the executor. |
|
Counter |
Total number of tasks completed by the executor. |
All thread pool metrics have the following tags:
Tag |
Value |
---|---|
|
Name of the thread pool. |
|
Type/implementation of the connection pool. For example, |
WebEngine attributes π
The Splunk Distribution of OpenTelemetry Java captures data about the application server and adds the following attributes to SERVER spans:
Span attribute |
Description |
---|---|
|
Name of the applications server. For example, |
|
Version of the application server. |
For a list of supported application servers, see the OpenTelemetry documentation at https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#application-servers.