From 0b2717132b1873f606feb49cd69f1250c12f97ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E9=B9=8F?= Date: Sat, 22 Apr 2023 21:19:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feature:=E6=94=AF=E6=8C=81opentelemetry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extension/extension-opentelemetry/pom.xml | 22 +++++++++++++ .../wrapper/OpenTelemetryWrapper.java | 31 +++++++++++++++++++ ....dtp.core.support.task.wrapper.TaskWrapper | 1 + extension/pom.xml | 1 + pom.xml | 1 + 5 files changed, 56 insertions(+) create mode 100644 extension/extension-opentelemetry/pom.xml create mode 100644 extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java create mode 100644 extension/extension-opentelemetry/src/main/resources/META-INF/services/com.dtp.core.support.task.wrapper.TaskWrapper diff --git a/extension/extension-opentelemetry/pom.xml b/extension/extension-opentelemetry/pom.xml new file mode 100644 index 00000000..b46a84dc --- /dev/null +++ b/extension/extension-opentelemetry/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + + cn.dynamictp + dynamic-tp-extension + ${revision} + + + dynamic-tp-extension-opentelemetry + + + + io.opentelemetry + opentelemetry-api + ${opentelemetry.version} + + + + \ No newline at end of file diff --git a/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java b/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java new file mode 100644 index 00000000..579b24ec --- /dev/null +++ b/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java @@ -0,0 +1,31 @@ +package com.dtp.extension.opentelemetry.wrapper; + +import com.dtp.common.util.JsonUtil; +import com.dtp.core.support.task.runnable.MdcRunnable; +import com.dtp.core.support.task.wrapper.TaskWrapper; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.context.Context; +import lombok.extern.slf4j.Slf4j; + +/** + * OpenTelemetryWrapper related + * + * @author weishaopeng + * @since 1.0.8 + **/ +public class OpenTelemetryWrapper implements TaskWrapper { + + private static final String NAME = "OTel"; + + @Override + public String name() { + return NAME; + } + + @Override + public Runnable wrap(Runnable runnable) { + Context context = Context.current(); + // 被wrap方法包装后,该Executor执行的所有Runnable都会跑在特定的context中 + return MdcRunnable.get(context.wrap(runnable)); + } +} diff --git a/extension/extension-opentelemetry/src/main/resources/META-INF/services/com.dtp.core.support.task.wrapper.TaskWrapper b/extension/extension-opentelemetry/src/main/resources/META-INF/services/com.dtp.core.support.task.wrapper.TaskWrapper new file mode 100644 index 00000000..c0f201d7 --- /dev/null +++ b/extension/extension-opentelemetry/src/main/resources/META-INF/services/com.dtp.core.support.task.wrapper.TaskWrapper @@ -0,0 +1 @@ +com.dtp.extension.opentelemetry.wrapper.OpenTelemetryWrapper \ No newline at end of file diff --git a/extension/pom.xml b/extension/pom.xml index f18cc6ab..d3c3d529 100644 --- a/extension/pom.xml +++ b/extension/pom.xml @@ -14,6 +14,7 @@ extension-skywalking extension-limiter-redis extension-notify-email + extension-opentelemetry diff --git a/pom.xml b/pom.xml index f726eddd..a6891e6f 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,7 @@ 1.35 2.8.9 1.2.83 + 1.25.0 -- Gitee From 4708085f0b0f4c207eecfa1927dd89a9e7e3094e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E9=B9=8F?= Date: Sat, 22 Apr 2023 21:24:50 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feature:=E6=B8=85=E7=90=86=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extension/opentelemetry/wrapper/OpenTelemetryWrapper.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java b/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java index 579b24ec..616a157e 100644 --- a/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java +++ b/extension/extension-opentelemetry/src/main/java/com/dtp/extension/opentelemetry/wrapper/OpenTelemetryWrapper.java @@ -1,11 +1,8 @@ package com.dtp.extension.opentelemetry.wrapper; -import com.dtp.common.util.JsonUtil; import com.dtp.core.support.task.runnable.MdcRunnable; import com.dtp.core.support.task.wrapper.TaskWrapper; -import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; -import lombok.extern.slf4j.Slf4j; /** * OpenTelemetryWrapper related -- Gitee