Track JVM gc time in histogram (#2903)
This commit is contained in:
parent
0644776443
commit
43804f56d2
|
|
@ -62,7 +62,7 @@ consider, for example pthreads vs green thread implementations.
|
||||||
All JVM metric attributes are required unless otherwise indicated.
|
All JVM metric attributes are required unless otherwise indicated.
|
||||||
|
|
||||||
| Name | Description | Unit | Unit ([UCUM](README.md#instrument-units)) | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
|
| Name | Description | Unit | Unit ([UCUM](README.md#instrument-units)) | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
|
||||||
|------------------------------------------------|-------------------------------------------------------------------------------------------------|---------|-------------------------------------------|---------------------------------------------------|------------|---------------|-----------------------|
|
|------------------------------------------------|-------------------------------------------------------------------------------------------------|--------------|-------------------------------------------|---------------------------------------------------|------------|---------------|-----------------------|
|
||||||
| process.runtime.jvm.memory.usage | Measure of memory used | Bytes | `By` | UpDownCounter | Int64 | type | `"heap"`, `"nonheap"` |
|
| process.runtime.jvm.memory.usage | Measure of memory used | Bytes | `By` | UpDownCounter | Int64 | type | `"heap"`, `"nonheap"` |
|
||||||
| | | | | | | pool | Name of pool [1] |
|
| | | | | | | pool | Name of pool [1] |
|
||||||
| process.runtime.jvm.memory.init | Measure of initial memory requested | Bytes | `By` | UpDownCounter | Int64 | type | `"heap"`, `"nonheap"` |
|
| process.runtime.jvm.memory.init | Measure of initial memory requested | Bytes | `By` | UpDownCounter | Int64 | type | `"heap"`, `"nonheap"` |
|
||||||
|
|
@ -83,8 +83,24 @@ All JVM metric attributes are required unless otherwise indicated.
|
||||||
| process.runtime.jvm.buffer.usage | Measure of memory used by buffers | Bytes | `By` | UpDownCounter | Int64 | pool | Name of pool[3] |
|
| process.runtime.jvm.buffer.usage | Measure of memory used by buffers | Bytes | `By` | UpDownCounter | Int64 | pool | Name of pool[3] |
|
||||||
| process.runtime.jvm.buffer.limit | Measure of total memory capacity of buffers | Bytes | `By` | UpDownCounter | Int64 | pool | Name of pool[3] |
|
| process.runtime.jvm.buffer.limit | Measure of total memory capacity of buffers | Bytes | `By` | UpDownCounter | Int64 | pool | Name of pool[3] |
|
||||||
| process.runtime.jvm.buffer.count | Number of buffers in the pool | buffers | `{buffers}` | UpDownCounter | Int64 | pool | Name of pool[3] |
|
| process.runtime.jvm.buffer.count | Number of buffers in the pool | buffers | `{buffers}` | UpDownCounter | Int64 | pool | Name of pool[3] |
|
||||||
|
| process.runtime.jvm.gc.duration | Duration of JVM garbage collection actions | Milliseconds | `ms` | Histogram | Int64 | gc | Name of gc[4] |
|
||||||
|
| | | | | | | action | The gc action[4] |
|
||||||
|
|
||||||
**[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()).
|
||||||
Examples include `G1 Old Gen`, `G1 Eden space`, `G1 Survivor Space`, `Metaspace`, etc.
|
Examples include `G1 Old Gen`, `G1 Eden space`, `G1 Survivor Space`, `Metaspace`, etc.
|
||||||
|
|
||||||
**[2]**: These utilizations are not defined as being for the specific interval since last measurement (unlike `system.cpu.utilization`).
|
**[2]**: These utilizations are not defined as being for the specific interval since last measurement (unlike `system.cpu.utilization`).
|
||||||
|
|
||||||
**[3]**: Pool names are generally obtained via [BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName()).
|
**[3]**: Pool names are generally obtained via [BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName()).
|
||||||
|
|
||||||
|
**[4]**: Garbage collector name and action are generally obtained via [GarbageCollectionNotificationInfo#getGcName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName()) and [GarbageCollectionNotificationInfo#getGcAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction()) respectively. The following is an incomplete list of names and actions for several popular garbage collectors:
|
||||||
|
|
||||||
|
* G1 Garbage Collector
|
||||||
|
* Names: `G1 Young Generation`, `G1 Old Generation`
|
||||||
|
* Actions: `end of minor GC`, `end of major GC`
|
||||||
|
* Shenandoah Garbage Collector
|
||||||
|
* Names: `Shenandoah Cycles`, `Shenandoah Pauses`
|
||||||
|
* Actions: `end of GC cycle`, `end of GC pause`
|
||||||
|
* Z Garbage Collector
|
||||||
|
* Names: `ZGC Cycles`, `ZGC Pauses`
|
||||||
|
* Actions: `end of GC cycle`, `end of GC pause`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue