我使用的是spring cloud sleuth的最新里程碑,我似乎无法通过opentracing获得跟踪。我定义了一个跟踪程序bean,spring boot似乎承认了这一点,但没有发出任何跟踪。
有没有办法检查spring cloud sleuth是否知道Tracer bean?
使现代化
我确实看到了合并的留档,并且在bean上有一个Tracer
实例,定义如下:
@Bean(name = "tracer")
@Primary
public Tracer lightstepTracer() throws MalformedURLException {
Options opt = lightstepOptionsBuilder.build();
log.info("Instantiating LightStep JRETracer.");
return new JRETracer(opt);
}
我并没有显式地导入OpenTracing API,因为LightStep跟踪器可以通过传递方式导入,但我可以尝试这样做。
我还在我的application.yml文件中明确启用了OpenTring支持。
sleuth:
opentracing:
enabled: true
如果您转到最新的快照文档(或里程碑)并搜索OpenTracing这个词,就会得到答案。就在这里https://cloud.spring.io/spring-cloud-sleuth/single/spring-cloud-sleuth.html#_opentracing
Spring Cloud Sleuth与OpenTring兼容。如果您在类路径上有OpenTring,我们会自动注册OpenTring Tracer bean。如果您希望禁用它,请将spring.sleuth.opentracing.enabled
设置为false
因此,只需在类路径上使用OpenTring就足够了,Sleuth将开箱即用
OpenTracing 是 CNCF 提出的分布式追踪的标准,它提供用厂商中立的 API,并提供 Go、Java、JavaScript、Python、Ruby、PHP、Objective-C、C++ 和 C# 这九种语言的库。 目前支持 Tracer 包括 Zipkin、Skywalking、Jaeger 等,支持的框架包括 gRPC、MOTAN、django、Flask、Sharding-JDB
我的项目是在Go中使用OpenTelemata进行跟踪,我使用的库之一仅支持OpentRacing中的跟踪。我直接在库中启用了跟踪,看起来它不起作用。对于这种情况,我如何让它们一起工作?
MicroProfile OpenTracing 是 MicroProfile 的 OpenTracing 规范,它定义了用于访问 JAX-RS 应用中兼容 OpenTracing Tracer 对象的行为和 API,这些行为指定传入和传出请求将如何自动创建 OpenTracing Spans,API 定义了如何显式禁用或启用给定端点的跟踪。
6.4.1 什么是 OpenTracing? OpenTracing 是一个分布式追踪规范。OpenTracing 通过提供平台无关、厂商无关的 API,为分布式追踪提供统一的概念和数据标准,使得开发人员能够方便的添加(或更换)追踪系统的实现。OpenTracing 定义了如下几个术语: Span:代表了系统中的一个逻辑工作单元,它具有操作名、操作开始时间以及持续时长。Span 可能会有嵌套或排序
我正在玩MP Reactive Messaging和MP Opentracing,但我不知道如何跟踪通过Reactive Messaging发送的消息。 甚至有可能跟踪带有@income/@output注释的方法吗?