运行时环境的语义约定

状态: 开发中

本文档定义了运行时环境 span、指标和日志的语义约定。

指标

运行时环境在术语、实现和给定指标的相对值方面差异很大。例如,Go 和 Python 都是垃圾回收语言,但直接比较 Go 和 CPython 运行时之间的堆使用量没有意义。因此,本文档不建议任何标准的顶级运行时指标。有关更多讨论,请参阅 OTEP 108

特定于某个运行时环境的指标应以该运行时的顶级命名空间 {environment}.* 作为前缀,例如 jvm.*,并遵循 通用指标语义约定指南

运行时 instrumentations 的作者负责选择 {environment},以避免在解释指标名称或值时产生歧义。

例如,某些编程语言有多种实现方式差异很大的运行时环境,例如 Python 有许多实现。对于此类语言,请考虑使用特定的 {environment} 前缀以避免歧义,例如 cpython.*pypy.*

在 instrumenting 运行时环境时,还应考虑 通用指标系统指标OS 进程指标 的语义约定。

Attributes

应酌情在运行时指标事件中包含 process.runtime 资源属性。