> Source: https://www.ymotongpoo.com/works/otel-specs-ja/semconv/runtime/jvm-metrics/


# JVMメトリクスに関するセマンティック規約

**ステータス**: [Mixed][DocumentStatus]

この文書では、OpenTelemetryにおけるJVMメトリクスに関するセマンティック規約を定義します。

## JVMのメモリ

**ステータス**: [Stable][DocumentStatus]

**Description:** 名前空間`jvm.memory.*`の下で取得されるJava Virtual Machine（JVM）メトリクス。

### メトリクス: `jvm.memory.used`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`MemoryPoolMXBean#getUsage()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryPoolMXBean.html#getUsage--)から取得されます。

<!-- semconv metric.jvm.memory.used -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.memory.used` | UpDownCounter | `By` | 使用中のメモリの測定値。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.memory.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリプールの名前。[1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` |
| [`jvm.memory.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリの種別。 | `heap`; `non_heap` |

**[1] `jvm.memory.pool.name`:** プール名は、一般に[MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName())から取得されます。

---

`jvm.memory.type`には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `heap` | ヒープメモリ。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `non_heap` | 非ヒープメモリ | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.memory.committed`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`MemoryPoolMXBean#getUsage()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryPoolMXBean.html#getUsage--)から取得されます。

<!-- semconv metric.jvm.memory.committed -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.memory.committed` | UpDownCounter | `By` | コミット済みメモリの測定値。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.memory.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリプールの名前。[1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` |
| [`jvm.memory.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリの種別。 | `heap`; `non_heap` |

**[1] `jvm.memory.pool.name`:** プール名は、一般に[MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName())から取得されます。

---

`jvm.memory.type`には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `heap` | ヒープメモリ。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `non_heap` | 非ヒープメモリ | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.memory.limit`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`MemoryPoolMXBean#getUsage()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryPoolMXBean.html#getUsage--)から取得されます。

<!-- semconv metric.jvm.memory.limit -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.memory.limit` | UpDownCounter | `By` | 取得可能な最大メモリの測定値。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.memory.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリプールの名前。[1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` |
| [`jvm.memory.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリの種別。 | `heap`; `non_heap` |

**[1] `jvm.memory.pool.name`:** プール名は、一般に[MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName())から取得されます。

---

`jvm.memory.type`には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `heap` | ヒープメモリ。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `non_heap` | 非ヒープメモリ | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.memory.used_after_last_gc`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`MemoryPoolMXBean#getCollectionUsage()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryPoolMXBean.html#getCollectionUsage--)から取得されます。

<!-- semconv metric.jvm.memory.used_after_last_gc -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.memory.used_after_last_gc` | UpDownCounter | `By` | このプールにおける直近のガーベジコレクションイベントの後に測定された、使用中メモリの測定値。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.memory.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリプールの名前。[1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` |
| [`jvm.memory.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリの種別。 | `heap`; `non_heap` |

**[1] `jvm.memory.pool.name`:** プール名は、一般に[MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName())から取得されます。

---

`jvm.memory.type`には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `heap` | ヒープメモリ。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `non_heap` | 非ヒープメモリ | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## JVMのガーベジコレクション

**ステータス**: [Stable][DocumentStatus]

**Description:** 名前空間`jvm.gc.*`の下で取得されるJava Virtual Machine（JVM）メトリクス。

### メトリクス: `jvm.gc.duration`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは、[`GarbageCollectorMXBean`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/GarbageCollectorMXBean.html)が提供する[`GarbageCollectionNotificationInfo`](https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/GarbageCollectionNotificationInfo.html)イベントをサブスクライブすることで取得されます。期間の値は[`GcInfo`](https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/GcInfo.html#getDuration--)から取得されます。

このメトリクスは、[`ExplicitBucketBoundaries` advisoryパラメータ](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.59.0/specification/metrics/api.md#instrument-advisory-parameters)に`[ 0.01, 0.1, 1, 10 ]`を指定すべきです（SHOULD）。

<!-- semconv metric.jvm.gc.duration -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.gc.duration` | Histogram | `s` | JVMのガーベジコレクション処理の期間。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.gc.action`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | ガーベジコレクターの処理の名前。[1] | `end of minor GC`; `end of major GC` |
| [`jvm.gc.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | ガーベジコレクターの名前。[2] | `G1 Young Generation`; `G1 Old Generation` |
| [`jvm.gc.cause`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | ガーベジコレクターの契機の名前。[3] | `System.gc()`; `Allocation Failure` |

**[1] `jvm.gc.action`:** ガーベジコレクターの処理は、一般に[GarbageCollectionNotificationInfo#getGcAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction())から取得されます。

**[2] `jvm.gc.name`:** ガーベジコレクターの名前は、一般に[GarbageCollectionNotificationInfo#getGcName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName())から取得されます。

**[3] `jvm.gc.cause`:** ガーベジコレクターの契機は、一般に[GarbageCollectionNotificationInfo#getGcCause()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcCause())から取得されます。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## JVMのスレッド

**ステータス**: [Stable][DocumentStatus]

**Description:** 名前空間`jvm.thread.*`の下で取得されるJava Virtual Machine（JVM）メトリクス。

### メトリクス: `jvm.thread.count`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは、次の組み合わせから取得されます。

* [`ThreadMXBean#getAllThreadIds()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ThreadMXBean.html#getAllThreadIds--)
* [`ThreadMXBean#getThreadInfo()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ThreadMXBean.html#getThreadInfo-long:A-)
* [`ThreadInfo#getThreadState()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ThreadInfo.html#getThreadState--)
* [`ThreadInfo#isDaemon()`](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/ThreadInfo.html#isDaemon())（Java 9以降が必要）

これは（仮想スレッドではなく）プラットフォームスレッドの数であることに注意してください。

<!-- semconv metric.jvm.thread.count -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.thread.count` | UpDownCounter | `{thread}` | 実行中のプラットフォームスレッドの数。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.thread.daemon`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | boolean | そのスレッドがデーモンかどうか。 | |
| [`jvm.thread.state`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | スレッドの状態。 | `runnable`; `blocked` |

---

`jvm.thread.state`には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `blocked` | モニターロックの待機によってブロックされているスレッドは、この状態です。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `new` | まだ開始されていないスレッドは、この状態です。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `runnable` | Java仮想マシンで実行中のスレッドは、この状態です。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `terminated` | 終了したスレッドは、この状態です。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `timed_waiting` | 指定された待機時間まで他のスレッドが処理を行うのを待っているスレッドは、この状態です。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `waiting` | 他のスレッドが特定の処理を行うのを無期限に待っているスレッドは、この状態です。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## JVMのクラス

**ステータス**: [Stable][DocumentStatus]

**Description:** 名前空間`jvm.class.*`の下で取得されるJava Virtual Machine（JVM）メトリクス。

### メトリクス: `jvm.class.loaded`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`ClassLoadingMXBean#getTotalLoadedClassCount()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ClassLoadingMXBean.html#getTotalLoadedClassCount--)から取得されます。

<!-- semconv metric.jvm.class.loaded -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.class.loaded` | Counter | `{class}` | JVM起動以降にロードされたクラスの数。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.class.unloaded`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`ClassLoadingMXBean#getUnloadedClassCount()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ClassLoadingMXBean.html#getUnloadedClassCount--)から取得されます。

<!-- semconv metric.jvm.class.unloaded -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.class.unloaded` | Counter | `{class}` | JVM起動以降にアンロードされたクラスの数。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.class.count`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`ClassLoadingMXBean#getLoadedClassCount()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ClassLoadingMXBean.html#getLoadedClassCount--)から取得されます。

<!-- semconv metric.jvm.class.count -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.class.count` | UpDownCounter | `{class}` | 現在ロードされているクラスの数。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## JVMのCPU

**ステータス**: [Stable][DocumentStatus]

**Description:** 名前空間`jvm.cpu.*`の下で取得されるJava Virtual Machine（JVM）メトリクス。

### メトリクス: `jvm.cpu.time`

このメトリクスは[推奨][MetricRecommended]です。

このメトリクスは、HotSpotでは[`com.sun.management.OperatingSystemMXBean#getProcessCpuTime()`](<https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getProcessCpuTime()>)、OpenJ9では[`com.ibm.lang.management.OperatingSystemMXBean#getProcessCpuTime()`](https://www.ibm.com/docs/api/v1/content/SSYKE2_8.0.0/openj9/api/jdk8/jre/management/extension/com/ibm/lang/management/OperatingSystemMXBean.html#getProcessCpuTime--)から取得されます。

<!-- semconv metric.jvm.cpu.time -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.cpu.time` | Counter | `s` | JVMが報告する、そのプロセスによって使用されたCPU時間。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.cpu.count`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`Runtime#availableProcessors()`](https://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html#availableProcessors--)から取得されます。
これは常に整数値であることに注意してください（分数やミリコアは表現されません）。

<!-- semconv metric.jvm.cpu.count -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.cpu.count` | UpDownCounter | `{cpu}` | Java仮想マシンが利用できるプロセッサーの数。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.cpu.recent_utilization`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは、HotSpotでは[`com.sun.management.OperatingSystemMXBean#getProcessCpuLoad()`](<https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad()>)、OpenJ9では[`com.ibm.lang.management.OperatingSystemMXBean#getProcessCpuLoad()`](https://www.ibm.com/docs/api/v1/content/SSYKE2_8.0.0/openj9/api/jdk8/jre/management/extension/com/ibm/lang/management/OperatingSystemMXBean.html#getProcessCpuLoad--)から取得されます。
JVMは「recent（直近）」の意味を定義していないことに注意してください。

<!-- semconv metric.jvm.cpu.recent_utilization -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.cpu.recent_utilization` | Gauge | `1` | JVMが報告する、そのプロセスの直近のCPU使用率。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** 値の範囲は[0.0,1.0]です。この使用率は（`system.cpu.utilization`とは異なり）直前の測定からの特定の間隔についてのものとしては定義されていません。[参考文献](https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getProcessCpuLoad())。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## 開発中のメトリクス

**ステータス**: [Development][DocumentStatus]

**Description:** `jvm.`の下で取得される、開発中のJava Virtual Machine（JVM）メトリクス。

### メトリクス: `jvm.memory.init`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`MemoryPoolMXBean#getUsage()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryPoolMXBean.html#getUsage--)から取得されます。

<!-- semconv metric.jvm.memory.init -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.memory.init` | UpDownCounter | `By` | 要求された初期メモリの測定値。 | ![Development](https://img.shields.io/badge/-development-blue) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.memory.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリプールの名前。[1] | `G1 Old Gen`; `G1 Eden space`; `G1 Survivor Space` |
| [`jvm.memory.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Recommended` | string | メモリの種別。 | `heap`; `non_heap` |

**[1] `jvm.memory.pool.name`:** プール名は、一般に[MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName())から取得されます。

---

`jvm.memory.type`には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず（MUST）、それ以外の場合は独自の値を使ってもかまいません（MAY）。

| Value | Description | Stability |
| --- | --- | --- |
| `heap` | ヒープメモリ。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `non_heap` | 非ヒープメモリ | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.system.cpu.utilization`

このメトリクスは[Opt-In][MetricOptIn]です。
このメトリクスは、Java 8から13では[`com.sun.management.OperatingSystemMXBean#getSystemCpuLoad()`](<https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getSystemCpuLoad()>)、Java 14以降では[`com.sun.management.OperatingSystemMXBean#getCpuLoad()`](<https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getCpuLoad()>)、OpenJ9では[`com.ibm.lang.management.OperatingSystemMXBean#getSystemCpuLoad()`](https://www.ibm.com/docs/api/v1/content/SSYKE2_8.0.0/openj9/api/jdk8/jre/management/extension/com/ibm/lang/management/OperatingSystemMXBean.html)から取得されます。

<!-- semconv metric.jvm.system.cpu.utilization -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.system.cpu.utilization` | Gauge | `1` | JVMが報告する、システム全体の直近のCPU使用率。[1] | ![Development](https://img.shields.io/badge/-development-blue) | |

**[1]:** 値の範囲は[0.0,1.0]です。この使用率は（`system.cpu.utilization`とは異なり）直前の測定からの特定の間隔についてのものとしては定義されていません。[参考文献](https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getCpuLoad())。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.system.cpu.load_1m`

このメトリクスは[Opt-In][MetricOptIn]です。
このメトリクスは[`OperatingSystemMXBean#getSystemLoadAverage()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage--)から取得されます。

<!-- semconv metric.jvm.system.cpu.load_1m -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.system.cpu.load_1m` | Gauge | `{run_queue_item}` | JVMが報告する、直近1分間のシステム全体の平均CPU負荷。[1] | ![Development](https://img.shields.io/badge/-development-blue) | |

**[1]:** 値の範囲は[0,n]です（nはCPUコアの数、値が取得できない場合は負の数）。この使用率は（`system.cpu.utilization`とは異なり）直前の測定からの特定の間隔についてのものとしては定義されていません。[参考文献](https://docs.oracle.com/en/java/javase/17/docs/api/java.management/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage())。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.buffer.memory.used`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`BufferPoolMXBean#getMemoryUsed()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/BufferPoolMXBean.html#getMemoryUsed--)から取得されます。

<!-- semconv metric.jvm.buffer.memory.used -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.buffer.memory.used` | UpDownCounter | `By` | バッファーが使用しているメモリの測定値。 | ![Development](https://img.shields.io/badge/-development-blue) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.buffer.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | バッファープールの名前。[1] | `mapped`; `direct` |

**[1] `jvm.buffer.pool.name`:** プール名は、一般に[BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName())から取得されます。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.buffer.memory.limit`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`BufferPoolMXBean#getTotalCapacity()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/BufferPoolMXBean.html#getTotalCapacity--)から取得されます。

<!-- semconv metric.jvm.buffer.memory.limit -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.buffer.memory.limit` | UpDownCounter | `By` | バッファーの総容量の測定値。 | ![Development](https://img.shields.io/badge/-development-blue) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.buffer.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | バッファープールの名前。[1] | `mapped`; `direct` |

**[1] `jvm.buffer.pool.name`:** プール名は、一般に[BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName())から取得されます。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.buffer.count`

このメトリクスは[推奨][MetricRecommended]です。
このメトリクスは[`BufferPoolMXBean#getCount()`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/BufferPoolMXBean.html#getCount--)から取得されます。

<!-- semconv metric.jvm.buffer.count -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.buffer.count` | UpDownCounter | `{buffer}` | プール内のバッファーの数。 | ![Development](https://img.shields.io/badge/-development-blue) | |

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`jvm.buffer.pool.name`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/jvm/) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | バッファープールの名前。[1] | `mapped`; `direct` |

**[1] `jvm.buffer.pool.name`:** プール名は、一般に[BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName())から取得されます。

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.file_descriptor.count`

このメトリクスは[Opt-In][MetricOptIn]です。
このメトリクスは[`UnixOperatingSystemMXBean#getOpenFileDescriptorCount()`](<https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/UnixOperatingSystemMXBean.html#getOpenFileDescriptorCount()>)から取得されます。

<!-- semconv metric.jvm.file_descriptor.count -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.file_descriptor.count` | UpDownCounter | `{file_descriptor}` | JVMが報告する、開いているファイルディスクリプターの数。 | ![Development](https://img.shields.io/badge/-development-blue) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### メトリクス: `jvm.file_descriptor.limit`

このメトリクスは[Opt-In][MetricOptIn]です。
このメトリクスは[`UnixOperatingSystemMXBean#getMaxFileDescriptorCount`](<https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/UnixOperatingSystemMXBean.html#getMaxFileDescriptorCount()>)から取得されます。

<!-- semconv metric.jvm.file_descriptor.limit -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `jvm.file_descriptor.limit` | UpDownCounter | `{file_descriptor}` | JVMが報告する、開いているファイルディスクリプターの最大数の測定値。 | ![Development](https://img.shields.io/badge/-development-blue) | |

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status
[MetricOptIn]: /works/otel-specs-ja/semconv/general/metric-requirement-level/#opt-in
[MetricRecommended]: /works/otel-specs-ja/semconv/general/metric-requirement-level/#recommended

