Spring cloud 设置跨距';《勇敢vs.侦探》中的追踪id
我正在寻找正确的方法来设置Brave中跨度的跟踪id。我们有:Spring cloud 设置跨距';《勇敢vs.侦探》中的追踪id,spring-cloud,spring-cloud-sleuth,brave,Spring Cloud,Spring Cloud Sleuth,Brave,我正在寻找正确的方法来设置Brave中跨度的跟踪id。我们有: Span=Span.builder().traceId(someLong.build() 勇敢是什么?我有以下内容,但它显然是不正确的,因为无法显式地设置跨度的上下文 Span=tracer.nextSpan().start() span.context().toBuilder().traceId(someLong.build()您可以这样做brave.Span=tracer.nextSpan().name(“name”).trac
Span=Span.builder().traceId(someLong.build()代码>
勇敢是什么?我有以下内容,但它显然是不正确的,因为无法显式地设置跨度的上下文
Span=tracer.nextSpan().start()代码>
span.context().toBuilder().traceId(someLong.build()代码>您可以这样做brave.Span=tracer.nextSpan().name(“name”).traceId(someLong.start()代码>
还是更进一步
brave.Span span = tracer.nextSpan().name("name").traceId(someLong);
try (SpanInScope ws = tracer.withSpanInScope(span.start())) {
// do sth
} finally {
span.finish();
}
查看以捕获所有更改您可以这样做brave.Span=tracer.nextSpan().name(“name”).traceId(someLong.start()代码>
还是更进一步
brave.Span span = tracer.nextSpan().name("name").traceId(someLong);
try (SpanInScope ws = tracer.withSpanInScope(span.start())) {
// do sth
} finally {
span.finish();
}
查看以捕获所有更改您可以使用TraceContext Builder设置自己的TraceId
TraceContext traceContext = TraceContext.newBuilder().traceId(traceId).build();
Span span =
this.tracing.tracer()
.toSpan(traceContext)
.name("application.name"))
.start();
这是可选的;创建新范围时,可以让跟踪器生成自己的traceId:-
this.tracing.tracer().nextSpan().name("application.name").start();
您可以使用TraceContext Builder设置自己的TraceId
TraceContext traceContext = TraceContext.newBuilder().traceId(traceId).build();
Span span =
this.tracing.tracer()
.toSpan(traceContext)
.name("application.name"))
.start();
这是可选的;创建新范围时,可以让跟踪器生成自己的traceId:-
this.tracing.tracer().nextSpan().name("application.name").start();
我们可以先建立TraceContext
,然后使用它来创建TraceContext或采样标志
,然后使用这些标志来创建Span
,如下所示:
TraceContext traceContext = TraceContext.newBuilder()
.traceId(someTraceId)
.spanId(someSpanId)
.build();
Span span = tracer.nextSpan(TraceContextOrSamplingFlags.create(traceContext))
.name(someName).start();
我们可以先建立TraceContext
,然后使用它来创建TraceContext或采样标志
,然后使用这些标志来创建Span
,如下所示:
TraceContext traceContext = TraceContext.newBuilder()
.traceId(someTraceId)
.spanId(someSpanId)
.build();
Span span = tracer.nextSpan(TraceContextOrSamplingFlags.create(traceContext))
.name(someName).start();
traceId()
不是setter。您是对的。默认情况下,根跟踪程序生成64位或128位traceId
s。尽管如此,您至少可以通过TraceContext
为子跟踪设置traceId
,就像新创建的跟踪一样traceId()
不是设置器。您是正确的。默认情况下,根跟踪程序生成64位或128位traceId
s。尽管如此,您至少可以通过TraceContext
为子跟踪设置traceId
,与新创建的跟踪相同