jaeger介绍java
1、spring boot客户端git
一、在spring boot的项目pom.xml添加依赖github
<dependency> <groupId>io.opentracing.contrib</groupId> <artifactId>opentracing-spring-web-autoconfigure</artifactId> <version>0.0.4</version> </dependency> <!--添加jaeger--> <dependency> <groupId>com.uber.jaeger</groupId> <artifactId>jaeger-core</artifactId> <version>0.21.0</version> </dependency>
注入jaeger beanweb
@Bean public io.opentracing.Tracer jaegerTracer() { return new Configuration("spring-boot", new Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1), new Configuration.ReporterConfiguration()) .getTracer();
其中须要指定jaeger IP地址,默认是localhostspring
若是要修改地址docker
Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1, "jaeger IP地址:端口")
Configuration.ReporterConfiguration( false, "jaeger agent host", "jaeger agent port(int)", 1000, 100)
编写测试 HelloController.javaapp
@RestController public class HelloController { @Autowired private RestTemplate restTemplate; @RequestMapping("/hello") public String hello() { return "Hello from Spring Boot!"; } @RequestMapping("/chaining") public String chaining() { ResponseEntity<String> response = restTemplate.getForEntity("http://localhost:8080/hello", String.class); return "Chaining + " + response.getBody(); } }
运行jaeger,以docker形式运行maven
docker run --rm -it --network=host jaegertracing/all-in-one
访问:http://localhost:16686查看ui页面spring-boot
运行spring boot程序post
访问:http://localhost:8080/hello 和 http://localhost:8080/chaining
查看UI页面,能够看到
2、若是是spring cloud程序
则替换maven
<dependency> <groupId>io.opentracing.contrib</groupId> <artifactId>opentracing-spring-cloud-starter</artifactId> <version>0.0.4</version> </dependency> <!--添加jaeger--> <dependency> <groupId>com.uber.jaeger</groupId> <artifactId>jaeger-core</artifactId> <version>0.21.0</version> </dependency>
一样方式运行
参考资料:
http://planet.jboss.org/post/opentracing_spring_boot_instrumentation
https://github.com/opentracing-contrib/java-spring-cloud