边角料
你看过文件了吗?如果您在Edgware版本中使用SpringCloudSleuth,如果您阅读Sleuth部分,您会发现这段文档
https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_custom_sa_tag_in_zipkin
我给你复印一下
54.5 Zipkin中的自定义SA标记有时您希望创建一个手动范围,该范围将包装对外部服务的调用,而不是
已检测。您可以使用
peer.service标记,它将包含
想打电话。下面您可以看到一个调用redis的示例,即
包裹在这样一个跨度里。
org.springframework.cloud.sleuth.Span newSpan = tracer.createSpan("redis");
try {
newSpan.tag("redis.op", "get");
newSpan.tag("lc", "redis");
newSpan.logEvent(org.springframework.cloud.sleuth.Span.CLIENT_SEND);
// call redis service e.g
// return (SomeObj) redisTemplate.opsForHash().get("MYHASH", someObjKey);
} finally {
newSpan.tag("peer.service", "redisService");
newSpan.tag("peer.ipv4", "1.2.3.4");
newSpan.tag("peer.port", "1234");
newSpan.logEvent(org.springframework.cloud.sleuth.Span.CLIENT_RECV);
tracer.close(newSpan);
}
[重要信息]重要信息请记住不要同时添加peer.service标记和
SA标签!您只能添加peer.service。
芬奇利
这个
SA
标记对finchley不起作用。您必须按照以下方式使用
remoteEndpoint
在跨度上。
Span span = tracer.newTrace().name("redis");
span.remoteEndpoint(Endpoint.newBuilder().serviceName("redis").build());
span.kind(CLIENT);
try(SpanInScope ws = tracer.withSpanInScope(span.start())) {
// add any tags / annotations on the span
// return (SomeObj) redisTemplate.opsForHash().get("MYHASH", someObjKey);
} finally {
span.finish();
}