この記事は英語の原文を日本語に翻訳したものです。原文: 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)。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
v8js.gc.durationHistogramsガーベジコレクションの期間。[1]Development

[1]: 値はperf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] })から取得できます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
v8js.gc.typeDevelopmentRequiredstringガーベジコレクションの種別。major; minor; incremental

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

ValueDescriptionStability
incrementalインクリメンタル(Incremental Marking)。Development
majorメジャー(Mark Sweep Compact)。Development
minorマイナー(Scavenge)。Development
weakcbWeak Callbacks(Process Weak Callbacks)。Development

メトリクス: v8js.memory.heap.space.available_size

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

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
v8js.memory.heap.space.available_sizeUpDownCounterByヒープスペースの利用可能サイズ。[1]Development

[1]: 値はv8.getHeapSpaceStatistics()space_available_sizeの値から取得できます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
v8js.heap.space.nameDevelopmentRequiredstringヒープメモリのスペース種別の名前。[1]new_space; old_space; code_space

[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()space_nameの値から取得できます。


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

ValueDescriptionStability
code_spaceコードメモリスペース。Development
large_object_space大きなオブジェクトのメモリスペース。Development
map_spaceMapメモリスペース。Development
new_space新しいメモリスペース。Development
old_space古いメモリスペース。Development

メトリクス: v8js.memory.heap.space.physical_size

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

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
v8js.memory.heap.space.physical_sizeUpDownCounterByヒープスペースのコミット済みサイズ。[1]Development

[1]: 値はv8.getHeapSpaceStatistics()physical_space_sizeの値から取得できます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
v8js.heap.space.nameDevelopmentRequiredstringヒープメモリのスペース種別の名前。[1]new_space; old_space; code_space

[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()space_nameの値から取得できます。


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

ValueDescriptionStability
code_spaceコードメモリスペース。Development
large_object_space大きなオブジェクトのメモリスペース。Development
map_spaceMapメモリスペース。Development
new_space新しいメモリスペース。Development
old_space古いメモリスペース。Development

メトリクス: v8js.memory.heap.space.size

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

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
v8js.memory.heap.space.sizeUpDownCounterByヒープスペースにあらかじめ割り当てられたヒープメモリの総サイズ。[1]Development

[1]: 値はv8.getHeapSpaceStatistics()space_sizeの値から取得できます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
v8js.heap.space.nameDevelopmentRequiredstringヒープメモリのスペース種別の名前。[1]new_space; old_space; code_space

[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()space_nameの値から取得できます。


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

ValueDescriptionStability
code_spaceコードメモリスペース。Development
large_object_space大きなオブジェクトのメモリスペース。Development
map_spaceMapメモリスペース。Development
new_space新しいメモリスペース。Development
old_space古いメモリスペース。Development

メトリクス: v8js.memory.heap.used

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

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
v8js.memory.heap.usedUpDownCounterBy割り当て済みのヒープメモリサイズ。[1]Development

[1]: 値はv8.getHeapSpaceStatistics()space_used_sizeの値から取得できます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
v8js.heap.space.nameDevelopmentRequiredstringヒープメモリのスペース種別の名前。[1]new_space; old_space; code_space

[1] v8js.heap.space.name: 値はv8.getHeapSpaceStatistics()space_nameの値から取得できます。


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

ValueDescriptionStability
code_spaceコードメモリスペース。Development
large_object_space大きなオブジェクトのメモリスペース。Development
map_spaceMapメモリスペース。Development
new_space新しいメモリスペース。Development
old_space古いメモリスペース。Development

メトリクス: v8js.resource.active

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

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
v8js.resource.activeGauge{resource}イベントループを稼働させ続けている、現在アクティブなリソースのゲージ。[1]Development

[1]: 値はprocess.getActiveResourcesInfo()から取得できます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
v8js.resource.typeDevelopmentRequiredstringイベントループをアクティブにし続けているリソースの種別。Immediate; TCPServerWrap; TCPWrap

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

ValueDescriptionStability
ImmediateアクティブなsetImmediateコールバック。Development
TCPServerWrapアクティブなTCPサーバー。Development
TCPWrapアクティブなTCP接続。Development
TimeoutアクティブなsetTimeoutまたはsetIntervalタイマー。Development
TTYWrapアクティブな端末I/O(stdin/stdout)。Development