import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TracingController {
private final Tracer tracer;
public TracingController(Tracer tracer) {
this.tracer = tracer;
}
@GetMapping("/trace-me")
public String traceMe() {
// 创建一个新的子Span
Span span = tracer.createSpan("traceMe_operation");
try {
// 在Span中记录信息
tracer.addTag("someTag", "someValue");
// 执行业务逻辑
// ...
// 返回Span的信息
return "Span: " + span.toString();
} finally {
// 完成Span
span.close();
}
}
}
这段代码展示了如何在Spring Cloud应用中使用Tracer
来创建和管理Span。通过createSpan
方法,开发者可以为关键业务逻辑点创建Span,并通过addTag
方法添加额外的信息。最终,使用close
方法结束Span。这样,你就可以在分布式系统中追踪请求的流转,便于后续的问题诊断和性能分析。