Mark JVM metrics stable (#569)
This commit is contained in:
parent
0f512d143d
commit
9f267b1c62
|
|
@ -45,6 +45,8 @@ release.
|
||||||
([#163](https://github.com/open-telemetry/semantic-conventions/pull/163))
|
([#163](https://github.com/open-telemetry/semantic-conventions/pull/163))
|
||||||
- Add .NET 8.0 metrics for HTTP client, ASP.NET Core, SignalR server and Kestrel.
|
- Add .NET 8.0 metrics for HTTP client, ASP.NET Core, SignalR server and Kestrel.
|
||||||
([#283](https://github.com/open-telemetry/semantic-conventions/pull/283))
|
([#283](https://github.com/open-telemetry/semantic-conventions/pull/283))
|
||||||
|
- JVM metrics marked stable
|
||||||
|
([#569](https://github.com/open-telemetry/semantic-conventions/pull/569))
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ linkTitle: Runtime Environment
|
||||||
|
|
||||||
# Semantic Conventions for JVM Metrics
|
# Semantic Conventions for JVM Metrics
|
||||||
|
|
||||||
**Status**: [Experimental][DocumentStatus]
|
**Status**: [Mixed][DocumentStatus]
|
||||||
|
|
||||||
This document describes semantic conventions for JVM metrics in OpenTelemetry.
|
This document describes semantic conventions for JVM metrics in OpenTelemetry.
|
||||||
|
|
||||||
|
|
@ -29,7 +29,7 @@ This document describes semantic conventions for JVM metrics in OpenTelemetry.
|
||||||
* [Metric: `jvm.cpu.time`](#metric-jvmcputime)
|
* [Metric: `jvm.cpu.time`](#metric-jvmcputime)
|
||||||
* [Metric: `jvm.cpu.count`](#metric-jvmcpucount)
|
* [Metric: `jvm.cpu.count`](#metric-jvmcpucount)
|
||||||
* [Metric: `jvm.cpu.recent_utilization`](#metric-jvmcpurecent_utilization)
|
* [Metric: `jvm.cpu.recent_utilization`](#metric-jvmcpurecent_utilization)
|
||||||
- [Very experimental](#very-experimental)
|
- [Experimental](#experimental)
|
||||||
* [Metric: `jvm.memory.init`](#metric-jvmmemoryinit)
|
* [Metric: `jvm.memory.init`](#metric-jvmmemoryinit)
|
||||||
* [Metric: `jvm.system.cpu.utilization`](#metric-jvmsystemcpuutilization)
|
* [Metric: `jvm.system.cpu.utilization`](#metric-jvmsystemcpuutilization)
|
||||||
* [Metric: `jvm.system.cpu.load_1m`](#metric-jvmsystemcpuload_1m)
|
* [Metric: `jvm.system.cpu.load_1m`](#metric-jvmsystemcpuload_1m)
|
||||||
|
|
@ -41,6 +41,8 @@ This document describes semantic conventions for JVM metrics in OpenTelemetry.
|
||||||
|
|
||||||
## JVM Memory
|
## JVM Memory
|
||||||
|
|
||||||
|
**Status**: [Stable][DocumentStatus]
|
||||||
|
|
||||||
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.memory.*`
|
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.memory.*`
|
||||||
|
|
||||||
### Metric: `jvm.memory.used`
|
### Metric: `jvm.memory.used`
|
||||||
|
|
@ -57,8 +59,8 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
|
||||||
<!-- semconv metric.jvm.memory.used(full) -->
|
<!-- semconv metric.jvm.memory.used(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
| `jvm.memory.pool.name` | string | <br>Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
||||||
| `jvm.memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
|
| `jvm.memory.type` | string | <br>The type of memory. | `heap`; `non_heap` | Recommended |
|
||||||
|
|
||||||
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
||||||
|
|
||||||
|
|
@ -84,8 +86,8 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
|
||||||
<!-- semconv metric.jvm.memory.committed(full) -->
|
<!-- semconv metric.jvm.memory.committed(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
| `jvm.memory.pool.name` | string | <br>Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
||||||
| `jvm.memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
|
| `jvm.memory.type` | string | <br>The type of memory. | `heap`; `non_heap` | Recommended |
|
||||||
|
|
||||||
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
||||||
|
|
||||||
|
|
@ -111,8 +113,8 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
|
||||||
<!-- semconv metric.jvm.memory.limit(full) -->
|
<!-- semconv metric.jvm.memory.limit(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
| `jvm.memory.pool.name` | string | <br>Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
||||||
| `jvm.memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
|
| `jvm.memory.type` | string | <br>The type of memory. | `heap`; `non_heap` | Recommended |
|
||||||
|
|
||||||
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
||||||
|
|
||||||
|
|
@ -138,8 +140,8 @@ This metric is obtained from [`MemoryPoolMXBean#getCollectionUsage()`](https://d
|
||||||
<!-- semconv metric.jvm.memory.used_after_last_gc(full) -->
|
<!-- semconv metric.jvm.memory.used_after_last_gc(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
| `jvm.memory.pool.name` | string | <br>Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
||||||
| `jvm.memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
|
| `jvm.memory.type` | string | <br>The type of memory. | `heap`; `non_heap` | Recommended |
|
||||||
|
|
||||||
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
||||||
|
|
||||||
|
|
@ -153,6 +155,8 @@ This metric is obtained from [`MemoryPoolMXBean#getCollectionUsage()`](https://d
|
||||||
|
|
||||||
## JVM Garbage Collection
|
## JVM Garbage Collection
|
||||||
|
|
||||||
|
**Status**: [Stable][DocumentStatus]
|
||||||
|
|
||||||
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.gc.*`
|
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.gc.*`
|
||||||
|
|
||||||
### Metric: `jvm.gc.duration`
|
### Metric: `jvm.gc.duration`
|
||||||
|
|
@ -174,8 +178,8 @@ of `[ 0.01, 0.1, 1, 10 ]`.
|
||||||
<!-- semconv metric.jvm.gc.duration(full) -->
|
<!-- semconv metric.jvm.gc.duration(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.gc.action` | string | Name of the garbage collector action. [1] | `end of minor GC`; `end of major GC` | Recommended |
|
| `jvm.gc.action` | string | <br>Name of the garbage collector action. [1] | `end of minor GC`; `end of major GC` | Recommended |
|
||||||
| `jvm.gc.name` | string | Name of the garbage collector. [2] | `G1 Young Generation`; `G1 Old Generation` | Recommended |
|
| `jvm.gc.name` | string | <br>Name of the garbage collector. [2] | `G1 Young Generation`; `G1 Old Generation` | Recommended |
|
||||||
|
|
||||||
**[1]:** Garbage collector action is generally obtained via [GarbageCollectionNotificationInfo#getGcAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction()).
|
**[1]:** Garbage collector action is generally obtained via [GarbageCollectionNotificationInfo#getGcAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction()).
|
||||||
|
|
||||||
|
|
@ -207,8 +211,8 @@ Note that this is the number of platform threads (as opposed to virtual threads)
|
||||||
<!-- semconv metric.jvm.thread.count(full) -->
|
<!-- semconv metric.jvm.thread.count(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.thread.daemon` | boolean | Whether the thread is daemon or not. | | Recommended |
|
| `jvm.thread.daemon` | boolean | <br>Whether the thread is daemon or not. | | Recommended |
|
||||||
| `jvm.thread.state` | string | State of the thread. | `runnable`; `blocked` | Recommended |
|
| `jvm.thread.state` | string | <br>State of the thread. | `runnable`; `blocked` | Recommended |
|
||||||
|
|
||||||
`jvm.thread.state` MUST be one of the following:
|
`jvm.thread.state` MUST be one of the following:
|
||||||
|
|
||||||
|
|
@ -270,6 +274,8 @@ This metric is obtained from [`ClassLoadingMXBean#getLoadedClassCount()`](https:
|
||||||
|
|
||||||
## JVM CPU
|
## JVM CPU
|
||||||
|
|
||||||
|
**Status**: [Stable][DocumentStatus]
|
||||||
|
|
||||||
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.cpu.*`
|
**Description:** Java Virtual Machine (JVM) metrics captured under the namespace `jvm.cpu.*`
|
||||||
|
|
||||||
### Metric: `jvm.cpu.time`
|
### Metric: `jvm.cpu.time`
|
||||||
|
|
@ -321,9 +327,11 @@ Note that the JVM does not provide a definition of what "recent" means.
|
||||||
<!-- semconv metric.jvm.cpu.recent_utilization(full) -->
|
<!-- semconv metric.jvm.cpu.recent_utilization(full) -->
|
||||||
<!-- endsemconv -->
|
<!-- endsemconv -->
|
||||||
|
|
||||||
## Very experimental
|
## Experimental
|
||||||
|
|
||||||
**Description:** Very experimental Java Virtual Machine (JVM) metrics captured under `jvm.`
|
**Status**: [Experimental][DocumentStatus]
|
||||||
|
|
||||||
|
**Description:** Experimental Java Virtual Machine (JVM) metrics captured under `jvm.`
|
||||||
|
|
||||||
### Metric: `jvm.memory.init`
|
### Metric: `jvm.memory.init`
|
||||||
|
|
||||||
|
|
@ -339,8 +347,8 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
|
||||||
<!-- semconv metric.jvm.memory.init(full) -->
|
<!-- semconv metric.jvm.memory.init(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `jvm.memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
| `jvm.memory.pool.name` | string | <br>Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
|
||||||
| `jvm.memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
|
| `jvm.memory.type` | string | <br>The type of memory. | `heap`; `non_heap` | Recommended |
|
||||||
|
|
||||||
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
**[1]:** Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ groups:
|
||||||
prefix: jvm.memory
|
prefix: jvm.memory
|
||||||
attributes:
|
attributes:
|
||||||
- id: type
|
- id: type
|
||||||
|
stability: stable
|
||||||
type:
|
type:
|
||||||
allow_custom_values: false
|
allow_custom_values: false
|
||||||
members:
|
members:
|
||||||
|
|
@ -18,6 +19,7 @@ groups:
|
||||||
brief: The type of memory.
|
brief: The type of memory.
|
||||||
examples: ["heap", "non_heap"]
|
examples: ["heap", "non_heap"]
|
||||||
- id: pool.name
|
- id: pool.name
|
||||||
|
stability: stable
|
||||||
type: string
|
type: string
|
||||||
requirement_level: recommended
|
requirement_level: recommended
|
||||||
brief: Name of the memory pool.
|
brief: Name of the memory pool.
|
||||||
|
|
@ -67,6 +69,7 @@ groups:
|
||||||
prefix: jvm.gc
|
prefix: jvm.gc
|
||||||
attributes:
|
attributes:
|
||||||
- id: name
|
- id: name
|
||||||
|
stability: stable
|
||||||
type: string
|
type: string
|
||||||
requirement_level: recommended
|
requirement_level: recommended
|
||||||
brief: Name of the garbage collector.
|
brief: Name of the garbage collector.
|
||||||
|
|
@ -75,6 +78,7 @@ groups:
|
||||||
Garbage collector name is generally obtained via
|
Garbage collector name is generally obtained via
|
||||||
[GarbageCollectionNotificationInfo#getGcName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName()).
|
[GarbageCollectionNotificationInfo#getGcName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName()).
|
||||||
- id: action
|
- id: action
|
||||||
|
stability: stable
|
||||||
type: string
|
type: string
|
||||||
requirement_level: recommended
|
requirement_level: recommended
|
||||||
brief: Name of the garbage collector action.
|
brief: Name of the garbage collector action.
|
||||||
|
|
@ -91,10 +95,12 @@ groups:
|
||||||
unit: "{thread}"
|
unit: "{thread}"
|
||||||
attributes:
|
attributes:
|
||||||
- id: jvm.thread.daemon
|
- id: jvm.thread.daemon
|
||||||
|
stability: stable
|
||||||
type: boolean
|
type: boolean
|
||||||
requirement_level: recommended
|
requirement_level: recommended
|
||||||
brief: "Whether the thread is daemon or not."
|
brief: "Whether the thread is daemon or not."
|
||||||
- id: jvm.thread.state
|
- id: jvm.thread.state
|
||||||
|
stability: stable
|
||||||
requirement_level: recommended
|
requirement_level: recommended
|
||||||
type:
|
type:
|
||||||
allow_custom_values: false
|
allow_custom_values: false
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue