【发布时间】:2020-01-22 20:21:51
【问题描述】:
我改编了 Micronaut 用户指南 V1.2.10 章节跟踪注释中的示例。
@NewSpan("hello-world")
public String hello(@SpanTag("person.name") String name) {
return greet("Hello " + name);
}
@ContinueSpan
public String greet(@SpanTag("hello.greeting") String greet) {
return greet;
}
我的代码如下所示:
@NewSpan("hello-world")
@Get("/name")
public String hello(@SpanTag("hello.name") String name) {
String nameDouble = doubleName(name);
String address = client.toBlocking()
.retrieve(HttpRequest.GET("/address"));
return "Hello world " + nameDouble + " " + address;
}
@ContinueSpan
private String doubleName(@SpanTag("doubleName.name")String name) {
return name + " " + name;
}
@Get("/address")
@ContinueSpan
public String address() {
return "Some address";
}
问题是,为什么对方法 doubleName 的调用没有记录到 zipkin(至少它没有显示在 zipkin GUI 中)。记录对 address() 的 REST 调用。是否只记录 REST 调用而没有本地方法调用?实际上我认为情况并非如此,因为用户指南示例表明这应该有效。
有什么想法吗?
【问题讨论】:
-
你试过调试吗?我的意思是,激活正确的软件包并检查它是否运行良好。您可以做的另一件事是在 Jaeger 中尝试一下,看看是否是 zipkin GUI 的问题