spring-cloud-openfeign icon indicating copy to clipboard operation
spring-cloud-openfeign copied to clipboard

Maintain the span from HTTP calls using feign clients with micrometer

Open fer1979 opened this issue 5 months ago • 3 comments

Hi,

I am using spring boot 3.1.5. I migrated my code from sleuth to micrometer for tracing. I have it working logging traceId and spanId. But as somebody already asked here https://stackoverflow.com/questions/77044612/should-micrometer-generate-a-new-span-each-time-a-spring-boot-server-receives-a , I am trying to maintain the spanId when I call to other microservices through http using spring cloud open feign but it maintains only the traceId. I specify below the feign configuration I have:

@Configuration
public class FeignConfiguration {

    
    @Bean
    public Capability capability(final MeterRegistry registry) {
      return new MicrometerCapability(registry);
    }    
    
    @Bean
    public Logger.Level loggerLevel() {
        return Logger.Level.FULL;
    
    }
}

The logs enabled with loggerLevel method for feign clients are already logging with same traceId but different spanId. And of course when you call to other microservice, the spanId is different too. How to maintain the spanId in the feignClient and propagate it to other microservices as it worked with the old spring sleuth?. Thanks!!

fer1979 avatar Mar 25 '24 18:03 fer1979