调用链跟踪

最近更新时间:2023-03-01 14:23:00

我的收藏

操作场景

调用链查询用来查询和定位具体某一次调用的情况。使用者可以通过具体的服务、接口定位、IP 等查询具体的调用过程,包括调用过程所需要的时间和运行情况。

调用链查询

1. 登录 TSF 控制台
2. 在左侧导航栏中选择调用链查询
3. 在调用链查询中,设置查询条件,单击查询
时间范围:支持特定和自定义时间范围选择。特定时间范围包括:5分钟前、10分钟前和30分钟前。
Trace ID:Trace ID。
起点服务/起点接口:单击下拉框,在下拉框中选择服务,可以输入关键字进行搜索。
仅查询出错的调用链:勾选后,可以查询系统中的出错业务。
状态码为:状态码。
客户端 IP:客户端 IP 地址。
服务端 IP:服务端 IP 地址。
耗时范围:设置耗时的阈值。
标签:用户在代码中设置的标签,参见 参数传递 中设置调用链 Tag,最多支持20个 tag。
高级设置:支持勾选查询不包含根节点的调用链,勾选该选项可能影响查询性能。
4. 根据查询结果,可以单击 TraceID 进入具体慢业务或出错业务,查看调用链详情。


说明
当前调用链查询功能支持查询消息队列组件(Kafka、CMQ、RocketMQ)、网关组件(微服务网关、API 网关)、数据库(Redis、MySQL、postgerSQL、MongoDB)和 httpclient (RestTemplate、Feign) 调用详情。
不支持展示服务名为大写字母。

调用链详情

操作场景

您可以根据 TraceID 查询调用链的详细信息。调用链详情是为了定位在分布式链路调用过程中每个环节的耗时和异常(不包含本地方法调用情况,本地方法调用建议使用业务 log 的方式记录)。 通过调用链通常为了解决以下问题:
定位耗时较长的服务
不合理的调用逻辑(如一次请求多次调用某服务,建议改为批量调用接口)

操作步骤

1. 登录 TSF 控制台
2. 在左侧导航栏中选择调用链查询
3. 在 Span 查询中,在搜索框中输入目标 TraceID,单击查询。 如果搜索有结果,页面将显示调用链每个环节的耗时和状态。


4. 单击操作列查看详情,可查看 Span 的详细信息。Span 包含四部分信息:
基本信息:展示调用信息详情和各阶段耗时。(注:各台机器的时钟可能不同步,因此可能出现阶段耗时中 Client Receive 的累计延迟小于 Server Send 的累计延迟的情况;该场景下 Client 与 Server 端之间的耗时时间仅为参考值,无法反映出真实的时间差。)


Tag:显示系统和业务自定的标签。


自定义 Metadata:显示用户在代码中设置的自定义元数据信息。参见开发手册中 调用链,了解如何设置 Metadata。


Opentracing Format。



调用链与业务日志联动

目前要实现调用链与业务日志联动的前提条件是部署组关联的日志配置项的日志格式支持日志与调用链联动,并且必须遵守日志格式规范。
Spring Boot 格式默认可以支持日志调用链联动。
自定义 Logback、自定义 Log4j、自定义 Log4j2 和单行/多行文本格式日志需要日志 pattern 中添加 %trace 才可以支持日志和调用链联动(详情请参见 日志格式说明)。
Nginx Access 和无解析规则格式日志无法支持日志和调用链联动。
在调用链详情页内,单击日志的 icon,可以查看与这条调用链相关的业务日志。