V8 JS 引擎运行时指标的语义约定

状态开发中

本文档描述了 OpenTelemetry 中 V8 JS 引擎运行时指标的语义约定。该引擎用于某些 JavaScript 运行时,例如 Node.js 和 Deno。

描述: 正在开发中的 V8 JS 引擎运行时指标,在 v8js 下捕获。

指标:v8js.gc.duration

此指标是推荐的。

此指标 SHOULD 使用 [ 0.01, 0.1, 1, 10 ]ExplicitBucketBoundaries 进行指定。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
v8js.gc.durationHistograms垃圾回收时长。[1]Development

[1]: 值可以从 perf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] }) 中检索。

Attributes

Stability需求级别Value Type描述Example Values
v8js.gc.typeDevelopment必需字符串垃圾回收的类型。majorminorincremental

v8js.gc.type 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。

描述Stability
incremental增量(增量标记)。Development
majorMajor(标记清除压缩)。Development
minorMinor(Scavenge)。Development
weakcb弱回调(处理弱回调)。Development

指标:v8js.memory.heap.limit

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
v8js.memory.heap.limitUpDownCounter每个调用的最大内存使用量的分布。预分配的总堆内存大小。[1]Development

[1]: 值可以从 v8.getHeapSpaceStatistics()space_size 值中检索。

Attributes

Stability需求级别Value Type描述Example Values
v8js.heap.space.nameDevelopment必需字符串堆内存空间类型的名称。[1]new_spaceold_spacecode_space

[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics()space_name 值中检索。


v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。

描述Stability
code_space代码内存空间。Development
large_object_space大对象内存空间。Development
map_spaceMap 内存空间。Development
new_spaceNew 内存空间。Development
old_spaceOld 内存空间。Development

指标:v8js.memory.heap.used

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
v8js.memory.heap.usedUpDownCounter每个调用的最大内存使用量的分布。已分配的堆内存大小。[1]Development

[1]: 值可以从 v8.getHeapSpaceStatistics()space_used_size 值中检索。

Attributes

Stability需求级别Value Type描述Example Values
v8js.heap.space.nameDevelopment必需字符串堆内存空间类型的名称。[1]new_spaceold_spacecode_space

[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics()space_name 值中检索。


v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。

描述Stability
code_space代码内存空间。Development
large_object_space大对象内存空间。Development
map_spaceMap 内存空间。Development
new_spaceNew 内存空间。Development
old_spaceOld 内存空间。Development

指标:v8js.memory.heap.space.available_size

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
v8js.memory.heap.space.available_sizeUpDownCounter每个调用的最大内存使用量的分布。堆空间可用大小。[1]Development

[1]: 值可以从 v8.getHeapSpaceStatistics()space_available_size 值中检索。

Attributes

Stability需求级别Value Type描述Example Values
v8js.heap.space.nameDevelopment必需字符串堆内存空间类型的名称。[1]new_spaceold_spacecode_space

[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics()space_name 值中检索。


v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。

描述Stability
code_space代码内存空间。Development
large_object_space大对象内存空间。Development
map_spaceMap 内存空间。Development
new_spaceNew 内存空间。Development
old_spaceOld 内存空间。Development

指标:v8js.memory.heap.space.physical_size

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
v8js.memory.heap.space.physical_sizeUpDownCounter每个调用的最大内存使用量的分布。堆空间的已提交大小。[1]Development

[1]: 值可以从 v8.getHeapSpaceStatistics()physical_space_size 值中检索。

Attributes

Stability需求级别Value Type描述Example Values
v8js.heap.space.nameDevelopment必需字符串堆内存空间类型的名称。[1]new_spaceold_spacecode_space

[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics()space_name 值中检索。


v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。

描述Stability
code_space代码内存空间。Development
large_object_space大对象内存空间。Development
map_spaceMap 内存空间。Development
new_spaceNew 内存空间。Development
old_spaceOld 内存空间。Development