Zipkin:Brave源码解析 - Tracer和Span

本文详细解释了Zipkin的Brave库中的Tracer和Span,Tracer负责创建和管理Spans,而Span是追踪链路的基本单元,包含操作名、时间戳、标签和引用。Tracer与Sampler协同工作,控制数据上报。
摘要由CSDN通过智能技术生成

在 Zipkin 的 Brave 客户端库中,TracerSpan 是两个核心概念和组件:

Tracer(追踪器)

Brave 中的 Tracer

  • 作为分布式追踪的核心工具,Tracer 主要负责创建、启动、停止以及关联 Span。
  • Tracer 负责生成具有唯一标识符(如 Trace ID 和 Span ID)的 Span,并确保它们在整个请求链路中能够被正确地传播和关联。
  • Tracer 还会与 Sampler 配合使用来决定是否需要采样某个 Span,以控制上报到 Zipkin Server 的数据量。
  • 在多线程环境中,Tracer 通常配合 CurrentTraceContext 使用,以便跨线程传递上下文信息。

Span(跨度)

Span 在 Brave 中的角色

  • Span 是追踪系统中的基本工作单元,它代表了服务调用链路上的一个具体步骤或操作。
  • 每个 Span 都有一个唯一的标识(Span ID),并且归属于一个更大的 Trace(由 Trace ID 标识)。
  • Span 包含以下关键信息:
    • Name: 表示 Span 所执行的操作名称。
    • Timestamps: 开始和结束时间戳,用于计算操作持续时间。
    • Tags: 关键字/值对,用来记录附加信息,比如 HTTP 请求方法、状态码、路由信息等。
    • Annotations: 时间点标记,用于记录事件发生的时间点,例如请求开始、请求结束、RPC 调用的开始和结束等。
    • References: 指向其他相关 Span 的引用,表示调用关系(通常是父 Span 对子 Span 的引用)。

在 Brave 中,通过 Tracer 创建 Span 后,开发者可以利用 Span 对象添加注解、标签和其他相关信息,这些信息会在 Span 结束时通过 Reporter 上报到 Zipkin 服务器进行存储和分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值