语义约定

简要概述

语义约定定义了一组常见的属性,这些属性在收集、生成和使用数据时为数据提供意义。

使用语义约定的好处在于遵循一个通用的命名方案,可以在代码库和平台中进行标准化,这样更容易地关联和消费数据。

如在定义 trace span 中 event 名称时,可以先查看下是否已经有公共名称了,类似需表示 HTTP 请求响应状态码,则使用 “http.response.status_code”。

span.SetAttributes(attribute.KeyValue{
	Key:   "http.response.status_code",
	Value: attribute.StringValue("200")})

在以下领域定了规范:

  1. 通用语义约定;
  2. 云提供商库的语义约定;
  3. CloudEvents规范的语义约定。
  4. 数据库操作的语义约定。
  5. 例外情况的语义约定。
  6. 功能即服务(FaaS)操作的语义约定。
  7. 特征标志评估的语义约定。
  8. HTTP客户端和服务器操作的语义约定。
  9. 消息传递操作和系统的语义约定。
  10. 对象存储操作的语义约定。
  11. RPC客户端和服务器操作的语义约定。
  12. 系统语义约定。

更详细的相关文档可参考官方 OpenTelemetry Semantic Conventions

链路跟踪相关

通用语义约定




最后修改 2023.11.02: docs: 添加语义约定 (7b0ba5f)