语义约定
少于1分钟
简要概述
语义约定定义了一组常见的属性,这些属性在收集、生成和使用数据时为数据提供意义。
使用语义约定的好处在于遵循一个通用的命名方案,可以在代码库和平台中进行标准化,这样更容易地关联和消费数据。
如在定义 trace span 中 event 名称时,可以先查看下是否已经有公共名称了,类似需表示 HTTP 请求响应状态码,则使用 “http.response.status_code”。
span.SetAttributes(attribute.KeyValue{
Key: "http.response.status_code",
Value: attribute.StringValue("200")})
在以下领域定了规范:
- 通用语义约定;
- 云提供商库的语义约定;
- CloudEvents规范的语义约定。
- 数据库操作的语义约定。
- 例外情况的语义约定。
- 功能即服务(FaaS)操作的语义约定。
- 特征标志评估的语义约定。
- HTTP客户端和服务器操作的语义约定。
- 消息传递操作和系统的语义约定。
- 对象存储操作的语义约定。
- RPC客户端和服务器操作的语义约定。
- 系统语义约定。
更详细的相关文档可参考官方 OpenTelemetry Semantic Conventions。
链路跟踪相关
通用语义约定
最后修改 2023.11.02: docs: 添加语义约定 (7b0ba5f)