一、spring boot客户端
1、在spring boot的项目pom.xml添加依赖
io.opentracing.contrib
opentracing-spring-web-autoconfigure
0.0.4
com.uber.jaeger
jaeger-core
0.21.0
注入jaeger bean
@Bean
public io.opentracing.Tracer jaegerTracer() {
return new Configuration("spring-boot", new Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1),
new Configuration.ReporterConfiguration())
.getTracer();
其中需要指定jaeger IP地址,默认是localhost
如果要修改地址
Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1, "jaeger IP地址:端口")
Configuration.ReporterConfiguration(
false,
"jaeger agent host",
"jaeger agent port(int)",
1000,
100)
编写测试 HelloController.java
@RestController
public class HelloController {
@Autowired
private RestTemplate restTemplate;
@RequestMapping("/hello")
public String hello() {
return "Hello from Spring Boot!";
}
@RequestMapping("/chaining")
public String chaining() {
ResponseEntity response = restTemplate.getForEntity("http://localhost:8080/hello", String.class);
return "Chaining + " + response.getBody();
}
}
运行jaeger,以docker形式运行
docker run --rm -it --network=host jaegertracing/all-in-one
运行spring boot程序
查看UI页面,可以看到
二、如果是spring cloud程序
则替换maven
io.opentracing.contrib
opentracing-spring-cloud-starter
0.0.4
com.uber.jaeger
jaeger-core
0.21.0
同样方式运行
Spring Web (RestControllers, RestTemplates)
Async annotation, AsyncWebTask, Executors
WebSocket STOMP
Feign, HystrixFeign
Hystrix
JMS
JDBC
Zuul
参考资料: