该问题特定于调度程序作业。我有 spring boot3 应用程序,它的调度程序每 1 小时触发一次,并从 s3 中提取记录并处理每个记录。每条记录本身就是一个事务。对于每条记录,它都使用相同的
traceid
。每次调度程序运行都会生成一次 traceid
。无法追踪特定记录的交易。尝试看看我们是否可以定义 traceid
范围,以便为每个记录创建一个新的 traceid
。
我做了类似下面的事情..但我希望框架也为traceid提供范围。现在我正在构建 Traceid。
UUID uuid = UUID.randomUUID();
TraceContext context = tracer.traceContextBuilder()
.traceId(uuid.toString().replaceAll("-", ""))
.spanId("00f067aa0ba902b7")
.sampled(true)
.build();
Span span2 = tracer.spanBuilder().setParent(context).start();
tracer.withSpan(span2.start());
log.info(" printing value {}", i);
transformationService.callTest(i); --> some method call
span2.end();