【发布时间】:2018-07-13 21:08:40
【问题描述】:
spring cloud sleuth 如何在幕后工作?它还能够跟踪库调用吗?我有一个使用库 B 的 Spring Boot 项目 A。对项目 A 中端点的任何命中都由侦探跟踪,但是当我尝试在库 B 上命中休息控制器时,侦探无法跟踪请求。有没有办法告诉侦探也跟踪库调用?
【问题讨论】:
标签: spring-boot spring-cloud spring-cloud-sleuth
spring cloud sleuth 如何在幕后工作?它还能够跟踪库调用吗?我有一个使用库 B 的 Spring Boot 项目 A。对项目 A 中端点的任何命中都由侦探跟踪,但是当我尝试在库 B 上命中休息控制器时,侦探无法跟踪请求。有没有办法告诉侦探也跟踪库调用?
【问题讨论】:
标签: spring-boot spring-cloud spring-cloud-sleuth
直到 2.0 版的 Spring Cloud Sleuth 都有自己的跟踪器,并且从 2.0 开始它正在重用 https://github.com/openzipkin/brave 。跟踪器负责传递跟踪上下文。这是什么意思?这意味着您必须传播跟踪信息:
跟踪信息在进程内(不同库、线程等)和进程外(通过 Http 标头、消息传递等)传播,Sleuth 能够处理此信息并将其存储在本地以继续痕迹。
您需要使用 SpanInjector 和 SpanExtractor(在 Sleuth 2.0 之前)或 Brave 的处理程序机制来正确处理跨度的接收和发送。
【讨论】: