From b250f064caed93e7a77cdb20a2a4dd8cf7a08d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E9=B9=8F?= Date: Sat, 20 Jan 2024 15:02:15 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8DTrace=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BC=A0=E5=85=A5DynamicTP=E6=A1=86=E6=9E=B6=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opentelemetry/wrapper/OpenTelemetryWrapper.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extension/extension-opentelemetry/src/main/java/org/dromara/dynamictp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java b/extension/extension-opentelemetry/src/main/java/org/dromara/dynamictp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java index ddde33db1..a79200054 100644 --- a/extension/extension-opentelemetry/src/main/java/org/dromara/dynamictp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java +++ b/extension/extension-opentelemetry/src/main/java/org/dromara/dynamictp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java @@ -17,9 +17,13 @@ package org.dromara.dynamictp.extension.opentelemetry.wrapper; +import io.opentelemetry.api.trace.Span; import org.dromara.dynamictp.core.support.task.runnable.MdcRunnable; import org.dromara.dynamictp.core.support.task.wrapper.TaskWrapper; import io.opentelemetry.context.Context; +import org.slf4j.MDC; + +import static org.dromara.dynamictp.common.constant.DynamicTpConst.TRACE_ID; /** * OpenTelemetryWrapper related @@ -39,6 +43,8 @@ public String name() { @Override public Runnable wrap(Runnable runnable) { Context context = Context.current(); + //把Trace信息传入DynamicTP中 + MDC.put(TRACE_ID, Span.current().getSpanContext().getTraceId()); // 被wrap方法包装后,该Executor执行的所有Runnable都会跑在特定的context中 return MdcRunnable.get(context.wrap(runnable)); }