首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在使用Feign builder时让Spring sleuth工作

在使用Feign builder时,可以通过以下步骤让Spring Sleuth工作:

  1. 确保项目中已经引入了Spring Cloud Sleuth的依赖。可以在项目的pom.xml文件中添加以下依赖:
代码语言:txt
复制
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
  1. 在Feign客户端接口上添加@FeignClient注解,并设置configuration属性为自定义的Feign配置类。例如:
代码语言:txt
复制
@FeignClient(name = "example-service", configuration = FeignConfig.class)
public interface ExampleFeignClient {
    // Feign方法定义
}
  1. 创建自定义的Feign配置类FeignConfig,并在该类上添加@Configuration注解。在配置类中,可以通过实现RequestInterceptor接口来添加自定义的请求拦截器,用于传递Sleuth的跟踪信息。例如:
代码语言:txt
复制
@Configuration
public class FeignConfig implements RequestInterceptor {
    
    @Override
    public void apply(RequestTemplate template) {
        Span currentSpan = tracer.currentSpan();
        if (currentSpan != null) {
            template.header("X-B3-TraceId", currentSpan.context().traceIdString());
            template.header("X-B3-SpanId", currentSpan.context().spanIdString());
        }
    }
}

在上述代码中,通过tracer.currentSpan()获取当前的Span,并将其TraceId和SpanId添加到Feign请求的Header中。

  1. 确保项目中已经配置了Sleuth的相关属性。可以在项目的配置文件(如application.properties或application.yml)中添加以下配置:
代码语言:txt
复制
spring:
  sleuth:
    sampler:
      probability: 1.0

上述配置中,sleuth.sampler.probability设置为1.0表示采样率为100%,即所有请求都会被采样。

通过以上步骤,使用Feign builder时,Spring Sleuth会自动将跟踪信息添加到Feign请求中,实现分布式跟踪。这样可以方便地追踪和监控请求的调用链路,帮助定位和解决问题。

推荐的腾讯云相关产品:腾讯云微服务平台(https://cloud.tencent.com/product/tke-microservice)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • spring-cloud-sleuth源码学习三

    文章分三部分: - spring-cloud-sleuth快速上手(https://cloud.tencent.com/developer/article/1884423) - zipkin-brave...,现在上班还处于想睡觉的状态...哈哈 springcloud整合zipkin源码 本次看源码的目标 因为不同的交互方式无法统一一个方法来携带信息(http/udp的不同,与redis/mq/rest...中mvc请求/openfeign/rabbitmq/redis中的切入方式 自动装配入口 通过Maven Helper很容易的在spring-cloud-starter-sleuth中看到spring-cloud-sleuth-autoconfigure...,\ org.springframework.cloud.sleuth.autoconfig.instrument.web.client.feign.TraceFeignClientAutoConfiguration...的, 先对结论进行描述: feign进行交互抽象了一个Client,比如默认的Default,okhttp的OkHttpClient和apache的ApacheHttpClient;通过对这个client

    2K80

    SpringCloud详细教程 | 第九篇:服务链路追踪(Spring Cloud Sleuth)(Greenwich版本)

    本文主要讲述如何在Spring Cloud Sleuth中集成Zipkin。在Spring Cloud Sleuth中集成Zipkin非常的简单,只需要引入相应的依赖和做相关的配置即可。...术语 Spring Cloud Sleuth借用了Dapper的术语。 跨度:基本工作单元。例如,发送RPC是一个新的跨度,就像向RPC发送响应一样。...跟踪器使用库,它们的使用对用户是无感知的。例如,Web服务器会在收到请求和发送响应时会记录相应的时间和一些元数据。一次完整链路请求所收集的数据被称为Span。...功能spring.sleuth.web.client.enabled=true#当设置为1.0就是链路数据100%收集到zipkin-serverspring.sleuth.sampler.probability...spring.zipkin.base-url就可以了 其中 spring.sleuth.web.client.enable为true设置的是web开启sleuth功能 spring.sleuth.sampler.probability

    4.4K41

    springboot2新版springcloud微服务全家桶实战

    sb2.0新版springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin springboot...2.feign案例 在实际开发中,feign使用的还是挺多的,feign底层还是使用了ribbon。废话不多说,直接上步骤,在服务消费者中使用feign访问服务提供者。...12.png 七、使用sleuth+zipkin 实现链路追踪服务 在使用微服务的时候,我们发现,有时候排错不好排查,所以就给大家整个这个链路追踪,很方便知道是哪一个服务调用哪一个服务出现了问题。...', version: '1.3.1.RELEASE' compile group: 'org.springframework.cloud', name: 'spring-cloud-sleuth-zipkin...spring: zipkin: base-url: http://localhost:9411 sleuth: sampler: percentage: 1.0 启动服务

    7.3K20

    微服务架构搭建:Consul+sleuth+zipkin+FeignRibbon+SpringConfig+Zuul+Hystrix Dash-Board-Turbine

    springcloud微服务架构搭建:Consul+sleuth+zipkin+Feign/Ribbon+SpringConfig+Zuul+Hystrix Dash-Board-Turbine 相信现在已经有很多小伙伴已经或者准备使用...重点内容 一、搭建spring-consul服务 使用 eureka 作为服务发现 请参考点击查看使用eureka作为服务注册中心 spring-consul作为服务发现的核心,第一个搭建,后面的服务都要注册到...这里写图片描述 后边更新会追加到后边,后边随时更新 ---- 2018-01-25 更新:补充使用feign ---- 七、使用feign 在实际开发中,feign使用的还是挺多的,feign底层还是使用了...废话不多说,直接上步骤,在服务消费者中使用feign访问服务提供者。新建一个springboot项目,或者复制一个。 1加入依赖 swagger不使用的话,可以删掉。...sleuth+zipkin 实现链路追踪服务 ---- 八、使用sleuth+zipkin 实现链路追踪服务 在使用微服务的时候,我们发现,有时候排错不好排查,所以就给大家整个这个链路追踪,很方便知道是哪一个服务调用哪一个服务出现了问题

    2.3K50

    springboot2新版升级springcloud微服务实战Consul+sleuth+zipkin+FeignRibbon+Config+Zuul+Hystrix+Turbine

    sb2.0新版springcloud微服务实战:Consul+Zuul+Feign/Ribbon+Hystrix Turbine+SpringCloundConfig+sleuth+zipkin springboot...ribbon使用就是这么简单,ribbon是springboot自带,所以不需要单独添加依赖。 2.feign案例 在实际开发中,feign使用的还是挺多的,feign底层还是使用了ribbon。...废话不多说,直接上步骤,在服务消费者中使用feign访问服务提供者。...七、使用sleuth+zipkin 实现链路追踪服务 在使用微服务的时候,我们发现,有时候排错不好排查,所以就给大家整个这个链路追踪,很方便知道是哪一个服务调用哪一个服务出现了问题。...的地址是硬编码的,目前还没发现怎么从服务注册中心consul上动态获取,以后有解决方案,会更新帖子 sleuth这个是配置提取率,可以配置也可以不配置 spring: zipkin: base-url

    69010

    SpringCloud Sleuth入门介绍

    案例代码:https://github.com/q279583842q/springcloud-e-book 一、Sleuth介绍   为什么要使用微服务跟踪?它解决了什么问题? 1.微服务的现状?...,分析出哪些服务调用比较耗时,当服务调用的耗时随着请求量的增大而增大,也可以对服务的扩容提供一定的提醒作用 数据分析优化链路 对于频繁地调用一个服务,或者并行地调用等,可以针对业务做一些优化措施 可视化...-- 添加Feign坐标 --> org.springframework.cloud spring-cloud-starter-feign...埋入一个调用记录 X-B3-ParentSpanId 标识当前工作单元所属的上一个工作单元 X-B3-Sampled 是否采样,1表示需要被输出,0表示不需要被输出 X-B3-TraceId 一条请求链路...(trace)的唯一标识,必须值 X-Span-Name 工作单元的名称,例如: http:/product/findAll X-B3-SpanId 一个工作单元(span)的唯一标识,必须值

    1.8K40

    sb2.0新版springcloud微服务实战:Consul+Zuul+FeignRibbon+Hystrix Turbine+Config+sleuth+zipkin

    sb2.0新版springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin springboot...2.feign案例 在实际开发中,feign使用的还是挺多的,feign底层还是使用了ribbon。废话不多说,直接上步骤,在服务消费者中使用feign访问服务提供者。...Logger.Level.FULL; } } 4 MFeignClientFallback.class ,断路器回调方法 断路器要实现上边定义的MFeignClient接口,请求失败,进入断路器,...12.png 七、使用sleuth+zipkin 实现链路追踪服务 在使用微服务的时候,我们发现,有时候排错不好排查,所以就给大家整个这个链路追踪,很方便知道是哪一个服务调用哪一个服务出现了问题。...的地址是硬编码的,目前还没发现怎么从服务注册中心eureka上动态获取,以后有解决方案,会更新帖子 sleuth这个是配置提取率,可以配置也可以不配置 spring: zipkin: base-url

    1.5K20

    Spring Cloud 微服务架构学习笔记与示例

    配置的使用:位于movie-service-feign-customizing这个项目内   下面的Feign接口就使用了自定义的配置类FeignConfiguration。...使用Hystrix:此示例位于movie-service-feign-hystrix项目中   针对Feign,它是以接口形式工作的,好在Spring Cloud已默认为Feign整合了Hystrix,...发生回退能够留下日志供查看回退原因,那么可以使用FallbackFactory,示例项目:movie-service-feign-fallback-factory....需要注意的是,在开发调试,因为默认的采样百分比是10%,Sleuth会忽略大量span,因此我们可以在开发环境将其设置为100%: spring: sleuth: sampler:...此外,Spring Cloud Sleuth还可以与ELK配合使用,不过此示例没有涉及,感兴趣的朋友可以参考这一篇《Spring Cloud Sleuth与ELK集成》。

    1.1K20

    springcloud微服务实战:Eureka+Zuul+FeignRibbon+Hystrix Turbine+SpringConfig+sleuth+zipkin

    springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin 相信现在已经有很多小伙伴已经或者准备使用...这里写图片描述 后边更新会追加到后边,后边随时更新 ---- 2018-01-24 更新:补充使用feign ---- 七、使用feign 在实际开发中,feign使用的还是挺多的,feign底层还是使用了...废话不多说,直接上步骤,在服务消费者中使用feign访问服务提供者。新建一个springboot项目,或者复制一个。 1加入依赖 swagger不使用的话,可以删掉。...这里请求的是服务提供者 fallback 是指请求失败,进入断路器的类,和使用ribbon是一样的。 configuration 是feign的一些配置,例如编码器等。...sleuth+zipkin 实现链路追踪服务 ---- 八、使用sleuth+zipkin 实现链路追踪服务 在使用微服务的时候,我们发现,有时候排错不好排查,所以就给大家整个这个链路追踪,很方便知道是哪一个服务调用哪一个服务出现了问题

    2.1K40

    springboot2.0新版springcloud微服务实战:Eureka+Zuul+FeignRibbon+Hystrix Turbine+SpringConfig+sleuth+zipkin

    sb2.0新版springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin springboot...ribbon使用就是这么简单,ribbon是springboot自带,所以不需要单独添加依赖。 2.feign案例 在实际开发中,feign使用的还是挺多的,feign底层还是使用了ribbon。...废话不多说,直接上步骤,在服务消费者中使用feign访问服务提供者。...七、使用sleuth+zipkin 实现链路追踪服务 在使用微服务的时候,我们发现,有时候排错不好排查,所以就给大家整个这个链路追踪,很方便知道是哪一个服务调用哪一个服务出现了问题。...的地址是硬编码的,目前还没发现怎么从服务注册中心eureka上动态获取,以后有解决方案,会更新帖子 sleuth这个是配置提取率,可以配置也可以不配置 spring: zipkin: base-url

    79720

    史上最简单的 SpringCloud 教程 | 终章

    第一篇: 服务的注册与发现(Eureka) 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon) 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign...消息总线(Spring Cloud Bus) 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth) 史上最简单的SpringCloud教程 |...进阶篇 Spring Cloud Sleuth超详细实战 源码篇: 深入理解Feign之源码解析 深入理解Eureka之源码解析 深入理解Ribbon之源码解析 深入理解Hystrix之文档翻译 深入理解...Zuul之源码解析 番外篇: 如何使用MongoDB+Springboot实现分布式ID?...如何在springcloud分布式系统中实现分布式锁? 如何用Redlock实现分布式锁 如何在IDEA启动多个Spring Boot工程实例

    76811

    使用Spring Cloud Sleuth实现链路监控

    全链路监控这个词意味着只要是不同系统模块之间的调用都应当被监控,这就包括了如下几种常用的交互方式: Http协议,RestTemplate,Feign,Okhttp3,HttpClient......首先添加依赖,普通的应用具备收集和发送报告的能力,这一切在spring cloud sleuth的帮助下都变得很简单 添加依赖 全部依赖 核心依赖 ...到这里,Http监控就已经完成了,如果你的应用使用了其他的Http工具,okhttp3,也可以去[opentracing,zipkin相关的文档中寻找依赖。...但目前只能通过自己添加组件的方式才能配合spring-cloud-sleuth使用,下面来看看实现步骤。...getTracer() { return tracer; } }); return context; } 使用spring-cloud-sleuth

    1.6K80

    Sleuth+Zipkin 实现 Spring Cloud 链路追踪

    二、应用架构图 本文将会介绍如何在何在 Spring Cloud 架构下基于 Sleuth+Zipkin 实现微服务链路追踪,主要演示HTTP 调用方式。...三、快速了解 Sleuth SleuthSpring Cloud 提供的服务治理模块,在其标准生态下内置了 Sleuth 这个组件。它通过扩展 Logging 日志的方式实现微服务的链路追踪。...说到这,想必大家已经对微服务链路追踪与 Sleuth+Zipkin 组合已经有了初步认识,下面咱们通过实例讲解如何在微服务架构中进行链路追踪改造。...四、准备工作 1、搭建 Zipkin 单机环境 这里我们使用 docker 快速启动 zipkin 演示实例。...七、小结 这一课我们进行了案例实战,选择当前流行微服务框架 SpringCloud 作为示例,演示如何在微服务中集成 Sleuth + Zipkin,同时模拟了异常情况。

    1.4K30

    不看源码,怎么卷的过小年轻

    工作中,我相信很多人都有下面这样的感受: 这谁的代码呀,看不下去了 这破代码,一行注释也没有 这代码,还没我写的好 这代码,有 bug 吧 这代码,。。。。。。。...的调用逻辑,替换调用的 URL 我就想到之前看过 Sleuth 的源码,Sleuth 做为一款链路跟踪框架,内部对很多框架进行了集成。...像 Feign 这种远程调用的,需要对它进行扩展,然后透传链路跟踪的数据。所以当我也有类似需求的时候,就可以参考 Sleuth 的实现。 ?...图片 上面贴了 Sleuth 中的 TracingFeignClient 源码,TracingFeignClient 就是 Sleuth 中对 Feign Client 的扩展,增加了 Sleuth 自己的一些逻辑...总结 写本文的目的就是为了告诉大家,在平时无事的时候除了学习一些框架的使用,也要去翻翻源码。

    31930
    领券