I would like to know what's the minimal configuration for a spring-boot app in terms of dependencies if I need to report traces to Jaeger in Istio.
I was expecting that by adding only
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
the traces will be present in Jaeger. But it's true that the envoy can not correlate the requests that go to the service with the response if the headers with the tracing details are not in the response.
It seems that sleuth only propagates the headers when calling by RestTemplate or Feign or Spring Integration... but the headers are not there in the response for an API.
In order to make it work, I added this other dependency to the service
<dependency>
<groupId>io.jaegertracing</groupId>
<artifactId>jaeger-tracerresolver</artifactId>
<version>1.2.0</version>
</dependency>
Or even propagating the headers manually I can see traces in Jaeger.
I am confused because it seems that sleuth should be doing this task without additional dependencies as I understood from @spencergibb in this video https://youtu.be/AMJQO9zs2eo?t=1045
In case of Sleuth dependency is not enough. What dependencies will be required? I can see several dependencies that seem to do similar things like the previous one, like
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-jaeger-web-starter</artifactId>
</dependency>
Thanks in advance.