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


# .NET Common Language Runtime（CLR）メトリクスに関するセマンティック規約

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

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

## .NET CLRプロセス

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

**Description:** 名前空間`dotnet.process.*`の下で取得される、プロセスに関する.NET Common Language Runtime（CLR）メトリクス。

_注記: これらのメトリクスは、.NETプロセスの視点から観測された測定値を表しており、プロセスの外部から測定されたメトリクス（`process.cpu.*`や`process.memory.usage`など）とは異なる場合があります。_

### メトリクス: `dotnet.process.cpu.count`

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

<!-- semconv metric.dotnet.process.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.process.cpu.count` | UpDownCounter | `{cpu}` | プロセスが利用できるプロセッサーの数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`Environment.ProcessorCount`](https://learn.microsoft.com/dotnet/api/system.environment.processorcount)にアクセスした場合と同じ値を報告します。

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

### メトリクス: `dotnet.process.cpu.time`

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

<!-- semconv metric.dotnet.process.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.process.cpu.time` | Counter | `s` | プロセスが使用したCPU時間。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`System.Diagnostics.Process`](https://learn.microsoft.com/dotnet/api/system.diagnostics.process)の対応するプロセッサー時間プロパティにアクセスした場合と同じ値を報告します。

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`cpu.mode`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/cpu/) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | string | CPUのモード | `user`; `system` |

---

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

| Value | Description | Stability |
| --- | --- | --- |
| `idle` | アイドル | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `interrupt` | 割り込み | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `iowait` | I/O待機 | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `nice` | Nice | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `steal` | Steal | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `system` | システム | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `user` | ユーザー | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |

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

### メトリクス: `dotnet.process.memory.working_set`

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

<!-- semconv metric.dotnet.process.memory.working_set -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.process.memory.working_set` | UpDownCounter | `By` | プロセスのコンテキストにマップされている物理メモリのバイト数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`Environment.WorkingSet`](https://learn.microsoft.com/dotnet/api/system.environment.workingset)を呼び出した場合と同じ値を報告します。

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

## .NET CLRのガーベジコレクション

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

**Description:** 名前空間`dotnet.gc.*`の下で取得される、ガーベジコレクションに関する.NET Common Language Runtime（CLR）メトリクス。

### メトリクス: `dotnet.gc.collections`

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

<!-- semconv metric.dotnet.gc.collections -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.gc.collections` | Counter | `{collection}` | プロセスの起動以降に発生したガーベジコレクションの回数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`GC.CollectionCount(int generation)`](https://learn.microsoft.com/dotnet/api/system.gc.collectioncount) APIを使って、世代ごとの排他的なコレクション回数を計算します。

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`dotnet.gc.heap.generation`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/dotnet/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Required` | string | ガーベジコレクターが管理するヒープ世代の名前。 | `gen0`; `gen1`; `gen2` |

---

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

| Value | Description | Stability |
| --- | --- | --- |
| `gen0` | 世代0 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `gen1` | 世代1 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `gen2` | 世代2 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `loh` | Large Object Heap | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `poh` | Pinned Object Heap | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

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

### メトリクス: `dotnet.gc.heap.total_allocated`

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

<!-- semconv metric.dotnet.gc.heap.total_allocated -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.gc.heap.total_allocated` | Counter | `By` | プロセスの起動以降に管理対象GCヒープへ割り当てられた、_おおよその_バイト数。返される値にはネイティブの割り当ては含まれません。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`GC.GetTotalAllocatedBytes()`](https://learn.microsoft.com/dotnet/api/system.gc.gettotalallocatedbytes)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.gc.last_collection.memory.committed_size`

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

<!-- semconv metric.dotnet.gc.last_collection.memory.committed_size -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.gc.last_collection.memory.committed_size` | UpDownCounter | `By` | 直近のガーベジコレクション時点で観測された、.NET GCが使用しているコミット済み仮想メモリの量。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`GC.GetGCMemoryInfo().TotalCommittedBytes`](https://learn.microsoft.com/dotnet/api/system.gcmemoryinfo.totalcommittedbytes)を呼び出した場合と同じ値を報告します。コミット済み仮想メモリは、既存オブジェクトを格納するためのメモリ（ヒープサイズ）に加え、将来新たに割り当てられるオブジェクトを処理できるように準備された追加のメモリも含むため、ヒープサイズより大きくなることがあります。

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

### メトリクス: `dotnet.gc.last_collection.heap.size`

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

<!-- semconv metric.dotnet.gc.last_collection.heap.size -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.gc.last_collection.heap.size` | UpDownCounter | `By` | 直近のガーベジコレクション時点で観測された、（フラグメンテーションを含む）管理対象GCヒープのサイズ。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`GC.GetGCMemoryInfo().GenerationInfo.SizeAfterBytes`](https://learn.microsoft.com/dotnet/api/system.gcgenerationinfo.sizeafterbytes)を呼び出した場合と同じ値を報告します。

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`dotnet.gc.heap.generation`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/dotnet/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Required` | string | ガーベジコレクターが管理するヒープ世代の名前。 | `gen0`; `gen1`; `gen2` |

---

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

| Value | Description | Stability |
| --- | --- | --- |
| `gen0` | 世代0 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `gen1` | 世代1 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `gen2` | 世代2 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `loh` | Large Object Heap | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `poh` | Pinned Object Heap | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

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

### メトリクス: `dotnet.gc.last_collection.heap.fragmentation.size`

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

<!-- semconv metric.dotnet.gc.last_collection.heap.fragmentation.size -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.gc.last_collection.heap.fragmentation.size` | UpDownCounter | `By` | 直近のガーベジコレクション時点で観測された、ヒープのフラグメンテーション。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`GC.GetGCMemoryInfo().GenerationInfo.FragmentationAfterBytes`](https://learn.microsoft.com/dotnet/api/system.gcgenerationinfo.fragmentationafterbytes)を呼び出した場合と同じ値を報告します。

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`dotnet.gc.heap.generation`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/dotnet/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Required` | string | ガーベジコレクターが管理するヒープ世代の名前。 | `gen0`; `gen1`; `gen2` |

---

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

| Value | Description | Stability |
| --- | --- | --- |
| `gen0` | 世代0 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `gen1` | 世代1 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `gen2` | 世代2 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `loh` | Large Object Heap | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
| `poh` | Pinned Object Heap | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

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

### メトリクス: `dotnet.gc.pause.time`

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

<!-- semconv metric.dotnet.gc.pause.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.gc.pause.time` | Counter | `s` | プロセスの起動以降にGCによって一時停止していた時間の合計。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`GC.GetTotalPauseDuration()`](https://learn.microsoft.com/dotnet/api/system.gc.gettotalpauseduration)を呼び出した場合と同じ値を報告します。

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

## .NET CLRのJust-In-Time（JIT）コンパイラー

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

**Description:** 名前空間`dotnet.jit.*`の下で取得される、Just-In-Timeコンパイラーに関する.NET Common Language Runtime（CLR）メトリクス。

### メトリクス: `dotnet.jit.compiled_il.size`

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

<!-- semconv metric.dotnet.jit.compiled_il.size -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.jit.compiled_il.size` | Counter | `By` | プロセスの起動以降にコンパイルされた中間言語のバイト数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`JitInfo.GetCompiledILBytes()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompiledilbytes)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.jit.compiled_methods`

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

<!-- semconv metric.dotnet.jit.compiled_methods -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.jit.compiled_methods` | Counter | `{method}` | プロセスの起動以降にJITコンパイラーがメソッドを（再）コンパイルした回数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`JitInfo.GetCompiledMethodCount()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompiledmethodcount)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.jit.compilation.time`

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

<!-- semconv metric.dotnet.jit.compilation.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.jit.compilation.time` | Counter | `s` | プロセスの起動以降にJITコンパイラーがメソッドのコンパイルに費やした時間。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`JitInfo.GetCompilationTime()`](https://learn.microsoft.com/dotnet/api/system.runtime.jitinfo.getcompilationtime)を呼び出した場合と同じ値を報告します。

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

## .NET CLRのスレッドプール

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

**Description:** 名前空間`dotnet.thread_pool.*`の下で取得される、スレッドプールに関する.NET Common Language Runtime（CLR）メトリクス。

### メトリクス: `dotnet.thread_pool.thread.count`

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

<!-- semconv metric.dotnet.thread_pool.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.thread_pool.thread.count` | UpDownCounter | `{thread}` | 現在存在するスレッドプールスレッドの数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`ThreadPool.ThreadCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.threadcount)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.thread_pool.work_item.count`

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

<!-- semconv metric.dotnet.thread_pool.work_item.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.thread_pool.work_item.count` | Counter | `{work_item}` | プロセスの起動以降にスレッドプールが完了させた作業項目の数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`ThreadPool.CompletedWorkItemCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.completedworkitemcount)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.thread_pool.queue.length`

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

<!-- semconv metric.dotnet.thread_pool.queue.length -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.thread_pool.queue.length` | UpDownCounter | `{work_item}` | 現在スレッドプールによる処理を待ってキューに入っている作業項目の数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`ThreadPool.PendingWorkItemCount`](https://learn.microsoft.com/dotnet/api/system.threading.threadpool.pendingworkitemcount)を呼び出した場合と同じ値を報告します。

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

## .NET CLRの汎用メトリクス

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

**Description:** その他の便利な.NET Common Language Runtime（CLR）メトリクス。

### メトリクス: `dotnet.monitor.lock_contentions`

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

<!-- semconv metric.dotnet.monitor.lock_contentions -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.monitor.lock_contentions` | Counter | `{contention}` | プロセスの起動以降にモニターロックの獲得を試みて競合が発生した回数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`Monitor.LockContentionCount`](https://learn.microsoft.com/dotnet/api/system.threading.monitor.lockcontentioncount)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.timer.count`

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

<!-- semconv metric.dotnet.timer.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.timer.count` | UpDownCounter | `{timer}` | 現在アクティブなタイマーインスタンスの数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`Timer.ActiveCount`](https://learn.microsoft.com/dotnet/api/system.threading.timer.activecount)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.assembly.count`

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

<!-- semconv metric.dotnet.assembly.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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.assembly.count` | UpDownCounter | `{assembly}` | 現在ロードされている.NETアセンブリの数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`AppDomain.CurrentDomain.GetAssemblies().Length`](https://learn.microsoft.com/dotnet/api/system.appdomain.getassemblies)を呼び出した場合と同じ値を報告します。

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

### メトリクス: `dotnet.exceptions`

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

<!-- semconv metric.dotnet.exceptions -->
<!-- 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 |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `dotnet.exceptions` | Counter | `{exception}` | 管理コード内でスローされた例外の数。[1] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | |

**[1]:** Meter名: `System.Runtime`; 追加バージョン: .NET 9.0。
このメトリクスは、[`AppDomain.CurrentDomain.FirstChanceException`](https://learn.microsoft.com/dotnet/api/system.appdomain.firstchanceexception)への呼び出し回数を数えた場合と同じ値を報告します。

**Attributes:**

| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`error.type`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/error/) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Required` | string | 操作が終了したエラーのクラスを記述します。 | `System.OperationCanceledException`; `Contoso.MyException` |

---

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

| Value | Description | Stability |
| --- | --- | --- |
| `_OTHER` | 計装がカスタム値を定義していない場合に使用されるフォールバックのエラー値。 | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

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

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

