Skip to content

Commit

Permalink
add namespace to jvm metric attributes
Browse files Browse the repository at this point in the history
  • Loading branch information
zeitlinger committed Jun 28, 2023
1 parent 3d1fe42 commit bd74b46
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 25 deletions.
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,21 @@ Note: This is the first release of Semantic Conventions separate from the Specif
- Mark service.version as stable.
([#106](https://github.com/open-telemetry/semantic-conventions/pull/106))
- Mark initial set of HTTP semantic conventions as frozen
([#105](https://github.com/open-telemetry/semantic-conventions/pull/105))
([#105](https://github.com/open-telemetry/semantic-conventions/pull/105))
- BREAKING: Add namespaces to JVM metric attributes ([#20](https://github.com/open-telemetry/semantic-conventions/pull/20)).
- Memory metric attribute renames
- Applies to metrics
- `process.runtime.jvm.memory.usage`
- `process.runtime.jvm.memory.init`
- `process.runtime.jvm.memory.committed`
- `process.runtime.jvm.memory.limit`
- `process.runtime.jvm.memory.usage_after_last_gc`
- Rename `memory` to `memory.type`
- Rename `pool` to `memory.pool.name`
- Rename `process.runtime.jvm.gc.duration` metric attribute `gc` to `gc.name`
- Rename `process.runtime.jvm.gc.duration` metric attribute `action` to `gc.action`
- Rename `process.runtime.jvm.threads.count` metric attribute `daemon` to `thread.daemon`
- Rename `process.runtime.jvm.buffer` metric attribute `pool` to `buffer.pool.name`

## v1.20.0 (2023-04-07)

Expand Down
27 changes: 27 additions & 0 deletions schemas/1.21.0
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,33 @@ versions:
# https://github.com/open-telemetry/semantic-conventions/pull/53
- rename_metrics:
process.runtime.jvm.cpu.utilization: process.runtime.jvm.cpu.recent_utilization
# https://github.com/open-telemetry/opentelemetry-specification/pull/3464
- rename_attributes:
attribute_map:
type: memory.type
pool: memory.pool.name
apply_to_metrics:
- process.runtime.jvm.memory.usage
- process.runtime.jvm.memory.init
- process.runtime.jvm.memory.committed
- process.runtime.jvm.memory.limit
- process.runtime.jvm.memory.usage_after_last_gc
- rename_attributes:
attribute_map:
name: gc.name
action: gc.action
apply_to_metrics:
- process.runtime.jvm.gc.duration
- rename_attributes:
attribute_map:
daemon: thread.daemon
apply_to_metrics:
- process.runtime.jvm.threads.count
- rename_attributes:
attribute_map:
pool: buffer.pool.name
apply_to_metrics:
- process.runtime.jvm.buffer
1.20.0:
spans:
changes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,11 @@ groups:
- id: attributes.process.runtime.jvm.buffer
type: attribute_group
brief: "Describes JVM buffer metric attributes."
prefix: buffer
attributes:
- ref: pool
- id: pool.name
type: string
requirement_level: recommended
brief: Name of the buffer pool.
examples: [ "mapped", "direct" ]
note: >
Expand Down
7 changes: 5 additions & 2 deletions semantic_conventions/metrics/process-runtime-jvm-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ groups:
- id: attributes.process.runtime.jvm.memory
type: attribute_group
brief: "Describes JVM memory metric attributes."
prefix: memory
attributes:
- id: type
type:
Expand All @@ -16,7 +17,7 @@ groups:
requirement_level: recommended
brief: The type of memory.
examples: ["heap", "non_heap"]
- id: pool
- id: pool.name
type: string
requirement_level: recommended
brief: Name of the memory pool.
Expand Down Expand Up @@ -63,8 +64,9 @@ groups:
brief: "Duration of JVM garbage collection actions."
instrument: histogram
unit: "s"
prefix: gc
attributes:
- id: gc
- id: name
type: string
requirement_level: recommended
brief: Name of the garbage collector.
Expand All @@ -87,6 +89,7 @@ groups:
brief: "Number of executing platform threads."
instrument: updowncounter
unit: "{thread}"
prefix: thread
attributes:
- id: daemon
brief: "Whether the thread is daemon or not."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,12 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
<!-- semconv metric.process.runtime.jvm.memory.usage(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `pool` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
| `memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | 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()).

`type` MUST be one of the following:
`memory.type` MUST be one of the following:

| Value | Description |
|---|---|
Expand All @@ -118,12 +118,12 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
<!-- semconv metric.process.runtime.jvm.memory.committed(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `pool` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
| `memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | 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()).

`type` MUST be one of the following:
`memory.type` MUST be one of the following:

| Value | Description |
|---|---|
Expand All @@ -145,12 +145,12 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
<!-- semconv metric.process.runtime.jvm.memory.limit(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `pool` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
| `memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | 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()).

`type` MUST be one of the following:
`memory.type` MUST be one of the following:

| Value | Description |
|---|---|
Expand All @@ -172,12 +172,12 @@ This metric is obtained from [`MemoryPoolMXBean#getCollectionUsage()`](https://d
<!-- semconv metric.process.runtime.jvm.memory.usage_after_last_gc(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `pool` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
| `memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | 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()).

`type` MUST be one of the following:
`memory.type` MUST be one of the following:

| Value | Description |
|---|---|
Expand All @@ -204,8 +204,8 @@ of `[]` (single bucket histogram capturing count, sum, min, max).
<!-- semconv metric.process.runtime.jvm.gc.duration(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `gc` | string | Name of the garbage collector. [1] | `G1 Young Generation`; `G1 Old Generation` | Recommended |
| `action` | string | Name of the garbage collector action. [2] | `end of minor GC`; `end of major GC` | Recommended |
| `gc.name` | string | Name of the garbage collector. [1] | `G1 Young Generation`; `G1 Old Generation` | Recommended |
| `gc.action` | string | Name of the garbage collector action. [2] | `end of minor GC`; `end of major GC` | Recommended |

**[1]:** 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()).

Expand All @@ -228,7 +228,7 @@ Note that this is the number of platform threads (as opposed to virtual threads)
<!-- semconv metric.process.runtime.jvm.threads.count(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `daemon` | boolean | Whether the thread is daemon or not. | | Recommended |
| `thread.daemon` | boolean | Whether the thread is daemon or not. | | Recommended |
<!-- endsemconv -->

### Metric: `process.runtime.jvm.classes.loaded`
Expand Down Expand Up @@ -323,12 +323,12 @@ This metric is obtained from [`MemoryPoolMXBean#getUsage()`](https://docs.oracle
<!-- semconv metric.process.runtime.jvm.memory.init(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `pool` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | Recommended |
| `memory.type` | string | The type of memory. | `heap`; `non_heap` | Recommended |
| `memory.pool.name` | string | Name of the memory pool. [1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` | 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()).

`type` MUST be one of the following:
`memory.type` MUST be one of the following:

| Value | Description |
|---|---|
Expand Down Expand Up @@ -379,7 +379,7 @@ This metric is obtained from [`BufferPoolMXBean#getMemoryUsed()`](https://docs.o
<!-- semconv metric.process.runtime.jvm.buffer.usage(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `pool` | string | Name of the buffer pool. [1] | `mapped`; `direct` | Recommended |
| `buffer.pool.name` | string | Name of the buffer pool. [1] | `mapped`; `direct` | Recommended |

**[1]:** 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()).
<!-- endsemconv -->
Expand All @@ -398,7 +398,7 @@ This metric is obtained from [`BufferPoolMXBean#getTotalCapacity()`](https://doc
<!-- semconv metric.process.runtime.jvm.buffer.limit(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `pool` | string | Name of the buffer pool. [1] | `mapped`; `direct` | Recommended |
| `buffer.pool.name` | string | Name of the buffer pool. [1] | `mapped`; `direct` | Recommended |

**[1]:** 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()).
<!-- endsemconv -->
Expand All @@ -417,7 +417,7 @@ This metric is obtained from [`BufferPoolMXBean#getCount()`](https://docs.oracle
<!-- semconv metric.process.runtime.jvm.buffer.count(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `pool` | string | Name of the buffer pool. [1] | `mapped`; `direct` | Recommended |
| `buffer.pool.name` | string | Name of the buffer pool. [1] | `mapped`; `direct` | Recommended |

**[1]:** 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()).
<!-- endsemconv -->
Expand Down

0 comments on commit bd74b46

Please sign in to comment.