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