标签与注解使用规范
介绍
在Zipkin分布式追踪系统中,**标签(Tags)和注解(Annotations)**是两种关键的元数据形式,它们为追踪数据提供了额外的上下文信息。正确使用这些元素可以帮助你:
- 更高效地诊断问题
- 实现更精确的查询过滤
- 为监控系统提供有价值的指标
- 提高跨团队协作效率
关键区别
- 标签是键值对,记录在整个Span生命周期中都相关的信息(如HTTP状态码)
- 注解是时间戳事件,记录Span生命周期中特定时间点发生的事件(如"客户端发送请求")
标签使用规范
基础标签规范
每个Span都应该包含以下基本标签:
// Java示例
span.tag("http.method", "GET");
span.tag("http.path", "/api/users");
span.tag("http.status_code", "200");
命名约定
- 使用小写字母和点号分隔的命名空间(如
db.statement
) - 保持一致性 - 在整个系统中使用相同的键名表示相同含义
- 避免使用特殊字符或空格
推荐标签
标签键 | 描述 | 示例值 |
---|---|---|
http.method | HTTP请求方法 | "GET", "POST" |
http.status_code | HTTP响应状态码 | "200", "404" |
db.system | 数据库类型 | "mysql", "postgresql" |
error | 标记错误发生 | "true" |