Jaegertracing使用和原理

本文介绍了Jaeger Tracing的OpenTracing数据模型,包括Trace、Span、Tag、Log和References的概念。讲解了Jaeger的API使用,如通过scope管理Span,并利用threadlocal维护当前活跃Span。此外,还探讨了opentracing-spring-cloud的集成和部分工作原理,如web和jdbc请求的追踪处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、OpenTracing 数据模型

1.Trace:一条调用链。

2.Span:可以理解成一条调用链的一个环节。一条 Trace可以被认为是一个由多个 Span 组成的DAG图。

1)Tag:标签集

2)Log:日志集

3)References:Span与Span之间的关系。OpenTracing目前定义了两种关系:ChildOf(父子) 和 FollowsFrom(跟随)

4)SpanContext:Span上下文对象,主要保存了traceId spanId等,用来跨进程边界传输。不同进程间可以利用SpanContext建立References关系。
(下个服务拿到traceId就可以知道自己改归属于哪个调用链, 拿到spanId就知道自己的父span是谁 )

二、API使用

1.Jaegertracing是OpenTracing的一个实现。Java sdk: https://github.com/jaegertracing/jaeger-client-java 。

代码示例如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值