V8 JS 引擎运行时指标的语义约定
状态:开发中
本文档描述了 OpenTelemetry 中 V8 JS 引擎运行时指标的语义约定。该引擎用于某些 JavaScript 运行时,例如 Node.js 和 Deno。
描述: 正在开发中的 V8 JS 引擎运行时指标,在 v8js 下捕获。
指标:v8js.gc.duration
此指标是推荐的。
此指标 SHOULD 使用 [ 0.01, 0.1, 1, 10 ] 的 ExplicitBucketBoundaries 进行指定。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
v8js.gc.duration | Histogram | s | 垃圾回收时长。[1] |
[1]: 值可以从 perf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] }) 中检索。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
v8js.gc.type | 必需 | 字符串 | 垃圾回收的类型。 | major;minor;incremental |
v8js.gc.type 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
incremental | 增量(增量标记)。 | |
major | Major(标记清除压缩)。 | |
minor | Minor(Scavenge)。 | |
weakcb | 弱回调(处理弱回调)。 |
指标:v8js.memory.heap.limit
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
v8js.memory.heap.limit | UpDownCounter | 每个调用的最大内存使用量的分布。 | 预分配的总堆内存大小。[1] |
[1]: 值可以从 v8.getHeapSpaceStatistics() 的 space_size 值中检索。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | 必需 | 字符串 | 堆内存空间类型的名称。[1] | new_space;old_space;code_space |
[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics() 的 space_name 值中检索。
v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
code_space | 代码内存空间。 | |
large_object_space | 大对象内存空间。 | |
map_space | Map 内存空间。 | |
new_space | New 内存空间。 | |
old_space | Old 内存空间。 |
指标:v8js.memory.heap.used
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
v8js.memory.heap.used | UpDownCounter | 每个调用的最大内存使用量的分布。 | 已分配的堆内存大小。[1] |
[1]: 值可以从 v8.getHeapSpaceStatistics() 的 space_used_size 值中检索。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | 必需 | 字符串 | 堆内存空间类型的名称。[1] | new_space;old_space;code_space |
[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics() 的 space_name 值中检索。
v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
code_space | 代码内存空间。 | |
large_object_space | 大对象内存空间。 | |
map_space | Map 内存空间。 | |
new_space | New 内存空间。 | |
old_space | Old 内存空间。 |
指标:v8js.memory.heap.space.available_size
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
v8js.memory.heap.space.available_size | UpDownCounter | 每个调用的最大内存使用量的分布。 | 堆空间可用大小。[1] |
[1]: 值可以从 v8.getHeapSpaceStatistics() 的 space_available_size 值中检索。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | 必需 | 字符串 | 堆内存空间类型的名称。[1] | new_space;old_space;code_space |
[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics() 的 space_name 值中检索。
v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
code_space | 代码内存空间。 | |
large_object_space | 大对象内存空间。 | |
map_space | Map 内存空间。 | |
new_space | New 内存空间。 | |
old_space | Old 内存空间。 |
指标:v8js.memory.heap.space.physical_size
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
v8js.memory.heap.space.physical_size | UpDownCounter | 每个调用的最大内存使用量的分布。 | 堆空间的已提交大小。[1] |
[1]: 值可以从 v8.getHeapSpaceStatistics() 的 physical_space_size 值中检索。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
v8js.heap.space.name | 必需 | 字符串 | 堆内存空间类型的名称。[1] | new_space;old_space;code_space |
[1] v8js.heap.space.name: 值可以从 v8.getHeapSpaceStatistics() 的 space_name 值中检索。
v8js.heap.space.name 具有以下一组预定义值。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
code_space | 代码内存空间。 | |
large_object_space | 大对象内存空间。 | |
map_space | Map 内存空间。 | |
new_space | New 内存空间。 | |
old_space | Old 内存空间。 |