Я использую Zipkin с Spring Sleuth для отображения следов.Когда я использую его локально, http://localhost:9411/zipkin/dependency/ отображает красиво созданный график зависимостей в экосистеме.Иногда бэкэнды извне этой экосистемы вызываются, и они не отображаются на этом графике.Можно ли аннотировать вызов (предположим, клиенты RestTemplate и Feign) к такой внешней системе, чтобы Зипкин действительно нарисовал эту зависимость?Если это возможно, что я должен сделать?
Это будет моя базовая линия кода:
@Bean
RestTemplate restTemplate() {
return new RestTemplate();
}
@RequestMapping("/")
public String callExternalBackend() {
return restTemplate.getForObject("https://httpbin.org/get", String.class);
}
Где-то я бы хотел набрать httpbin
, чтобы этот вызов отображался в графе зависимостей Zipkin.
Спасибо!
// Редактировать на основе текущего решения Я использую Spring Cloud Finchley и добавил следующую строку перед вызовом restTemplate:
@RequestMapping("/")
public String callBackend() {
spanCustomizer.tag("peer.service", "httpbin");
return restTemplate.getForObject("https://httpbin.org/get", String.class);
}
Я просто ввожуSpanCustomizer
в этом классе.Span отправляется Zipkin, и я вижу, что тег установлен:
![enter image description here](https://i.stack.imgur.com/RbafF.png)
К сожалению, он не рисуется в представлении зависимостей.Что-нибудь еще мне нужно настроить, возможно, в Zipkin, а не в Sleuth?