Trace 语义规约
使用OpenTelemetry,实现者可以自由创建Span并使用特定于所表示操作的属性对其进行注释。 Span表示系统内部或系统之间的特定操作。 一些操作代表众所周知的协议,例如HTTP和数据库调用。 监视系统中需要什么附加信息才能正确表示和分析跨度,取决于协议和操作类型。 统一如何用不同的语言创建属性也很重要。 它允许工作人员比较和交叉分析多粒度微服务环境,而无需学习多种语言或遥测技术。
Span定义以下语义约定:
- General:描述不同类型的操作时使用的通用语义属性。
- HTTP:HTTP客户端/服务器中的Span。
- Database:SQL或NoSQL客户端调用的Span。
- RPC/RMI:远程调用的Span (例如,gRPC)。
- Messaging:交互式消息系统的Span (例如消息队列, 发布/订阅, 等等..)。
- FaaS:以函数作为服务的Span (例如, AWS Lambda)。
- Exceptions:用于记录与Span相关联的异常属性。
除了trace和[metrics](../../metrics/semantic_conventions/README.md)的语义约定外,OpenTelemetry还具有Resources资源的综合概念。 也通过资源语义约定进行定义。