この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/runtime/v8js-metrics/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
V8 JSエンジンランタイムメトリクスに関するセマンティック規約
ステータス: Development
この文書では、OpenTelemetryにおけるV8 JSエンジンランタイムメトリクスに関するセマンティック規約を定義します。このエンジンは、Node.jsやDenoなど一部のJavaScriptランタイムで使用されています。
Description: v8jsの下で取得される、開発中のV8 JSエンジンランタイムメトリクス。
メトリクス: v8js.gc.duration
このメトリクスは推奨です。
このメトリクスは、ExplicitBucketBoundaries advisoryパラメータに[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]を指定すべきです(SHOULD)。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
v8js.gc.duration | Histogram | s | ガーベジコレクションの期間。[1] |
[1]: 値はperf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] })から取得できます。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
v8js.gc.type | Required | string | ガーベジコレクションの種別。 | major; minor; incremental |
v8js.gc.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
incremental | インクリメンタル(Incremental Marking)。 | |
major | メジャー(Mark Sweep Compact)。 | |
minor | マイナー(Scavenge)。 | |
weakcb | Weak Callbacks(Process Weak Callbacks)。 |
メトリクス: v8js.memory.heap.space.available_size
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
v8js.memory.heap.space.available_size | UpDownCounter | By | ヒープスペースの利用可能サイズ。[1] |
[1]: 値はv8.getHeapSpaceStatistics()のspace_available_sizeの値から取得できます。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | Required | string | ヒープメモリのスペース種別の名前。[1] | new_space; old_space; code_space |
[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()のspace_nameの値から取得できます。
v8js.heap.space.nameには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
code_space | コードメモリスペース。 | |
large_object_space | 大きなオブジェクトのメモリスペース。 | |
map_space | Mapメモリスペース。 | |
new_space | 新しいメモリスペース。 | |
old_space | 古いメモリスペース。 |
メトリクス: v8js.memory.heap.space.physical_size
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
v8js.memory.heap.space.physical_size | UpDownCounter | By | ヒープスペースのコミット済みサイズ。[1] |
[1]: 値はv8.getHeapSpaceStatistics()のphysical_space_sizeの値から取得できます。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | Required | string | ヒープメモリのスペース種別の名前。[1] | new_space; old_space; code_space |
[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()のspace_nameの値から取得できます。
v8js.heap.space.nameには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
code_space | コードメモリスペース。 | |
large_object_space | 大きなオブジェクトのメモリスペース。 | |
map_space | Mapメモリスペース。 | |
new_space | 新しいメモリスペース。 | |
old_space | 古いメモリスペース。 |
メトリクス: v8js.memory.heap.space.size
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
v8js.memory.heap.space.size | UpDownCounter | By | ヒープスペースにあらかじめ割り当てられたヒープメモリの総サイズ。[1] |
[1]: 値はv8.getHeapSpaceStatistics()のspace_sizeの値から取得できます。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | Required | string | ヒープメモリのスペース種別の名前。[1] | new_space; old_space; code_space |
[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()のspace_nameの値から取得できます。
v8js.heap.space.nameには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
code_space | コードメモリスペース。 | |
large_object_space | 大きなオブジェクトのメモリスペース。 | |
map_space | Mapメモリスペース。 | |
new_space | 新しいメモリスペース。 | |
old_space | 古いメモリスペース。 |
メトリクス: v8js.memory.heap.used
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
v8js.memory.heap.used | UpDownCounter | By | 割り当て済みのヒープメモリサイズ。[1] |
[1]: 値はv8.getHeapSpaceStatistics()のspace_used_sizeの値から取得できます。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | Required | string | ヒープメモリのスペース種別の名前。[1] | new_space; old_space; code_space |
[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()のspace_nameの値から取得できます。
v8js.heap.space.nameには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
code_space | コードメモリスペース。 | |
large_object_space | 大きなオブジェクトのメモリスペース。 | |
map_space | Mapメモリスペース。 | |
new_space | 新しいメモリスペース。 | |
old_space | 古いメモリスペース。 |
メトリクス: v8js.resource.active
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
v8js.resource.active | Gauge | {resource} | イベントループを稼働させ続けている、現在アクティブなリソースのゲージ。[1] |
[1]: 値はprocess.getActiveResourcesInfo()から取得できます。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
v8js.resource.type | Required | string | イベントループをアクティブにし続けているリソースの種別。 | Immediate; TCPServerWrap; TCPWrap |
v8js.resource.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
Immediate | アクティブなsetImmediateコールバック。 | |
TCPServerWrap | アクティブなTCPサーバー。 | |
TCPWrap | アクティブなTCP接続。 | |
Timeout | アクティブなsetTimeoutまたはsetIntervalタイマー。 | |
TTYWrap | アクティブな端末I/O(stdin/stdout)。 |