From 81b1f3751ad4c857a0bc8003ae8af37c725a1c0f Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 22 Apr 2021 01:10:30 +0800 Subject: [PATCH] 补全下 tracer 组件的注释 --- pom.xml | 2 +- src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracing.java | 29 ----------------------------- src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracingAop.java | 33 --------------------------------- src/main/java/cn/iocoder/dashboard/framework/tracer/config/BizTracerAutoConfiguration.java | 34 ---------------------------------- src/main/java/cn/iocoder/dashboard/framework/tracer/config/TracerAutoConfiguration.java | 34 ++++++++++++++++++++++++++++++++++ src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracing.java | 34 ++++++++++++++++++++++++++++++++++ src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracingAop.java | 32 ++++++++++++++++++++++++++++++++ 7 files changed, 101 insertions(+), 97 deletions(-) delete mode 100644 src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracing.java delete mode 100644 src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracingAop.java delete mode 100644 src/main/java/cn/iocoder/dashboard/framework/tracer/config/BizTracerAutoConfiguration.java create mode 100644 src/main/java/cn/iocoder/dashboard/framework/tracer/config/TracerAutoConfiguration.java create mode 100644 src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracing.java create mode 100644 src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracingAop.java diff --git a/pom.xml b/pom.xml index f3acf51..fc89b98 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ 2.2.0 1.7.0 - 8.4.0 + 8.5.0 6.1 2.3.1 diff --git a/src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracing.java b/src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracing.java deleted file mode 100644 index 646f527..0000000 --- a/src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracing.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.dashboard.framework.tracer.annotation; - -import java.lang.annotation.*; - -@Target({ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Inherited - -/** - * 打印业务流水号/业务类型注解 - * - * @author 麻薯 - */ -public @interface BizTracing { - - /** - * 交易流水tag名 - */ - String BIZ_ID_TAG = "bizId"; - /** - * 交易类型tag名 - */ - String BIZ_TYPE_TAG = "bizType"; - - String bizId(); - - String bizType(); - -} diff --git a/src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracingAop.java b/src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracingAop.java deleted file mode 100644 index 3cd1c35..0000000 --- a/src/main/java/cn/iocoder/dashboard/framework/tracer/annotation/BizTracingAop.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.dashboard.framework.tracer.annotation; - -import cn.hutool.core.util.StrUtil; -import cn.iocoder.dashboard.util.sping.SpElUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.skywalking.apm.toolkit.trace.ActiveSpan; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.springframework.context.annotation.Configuration; - -/** - * 业务链路AOP切面 - * - * @author mashu - */ -@Aspect -@Slf4j -public class BizTracingAop { - - @Around(value = "@annotation(bizTracing)") - public void tagBizInfo(ProceedingJoinPoint joinPoint, BizTracing bizTracing) { - String bizId = (String) SpElUtil.analysisSpEl(bizTracing.bizId(), joinPoint); - String bizType = (String) SpElUtil.analysisSpEl(bizTracing.bizType(), joinPoint); - if (StrUtil.isBlankIfStr(bizId)) { - log.error("empty biz: bizId[{}], bizType[{}].", bizId, bizType); - return; - } - log.info("accept biz: bizId[{}], bizType[{}].", bizId, bizType); - ActiveSpan.tag(BizTracing.BIZ_ID_TAG, bizId); - ActiveSpan.tag(BizTracing.BIZ_TYPE_TAG, bizType); - } -} diff --git a/src/main/java/cn/iocoder/dashboard/framework/tracer/config/BizTracerAutoConfiguration.java b/src/main/java/cn/iocoder/dashboard/framework/tracer/config/BizTracerAutoConfiguration.java deleted file mode 100644 index b48a9c4..0000000 --- a/src/main/java/cn/iocoder/dashboard/framework/tracer/config/BizTracerAutoConfiguration.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.dashboard.framework.tracer.config; - -import cn.iocoder.dashboard.framework.tracer.annotation.BizTracingAop; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * BizTracer Bean 配置类 - * - * @author mashu - */ -@Configuration -@ConditionalOnClass({BizTracingAop.class}) -@EnableConfigurationProperties(BizTracerProperties.class) -@ConditionalOnProperty(prefix = "yudao.tracer", value = "enable", matchIfMissing = true) -public class BizTracerAutoConfiguration { - - - @Bean - @ConditionalOnMissingBean - public BizTracerProperties bizTracerProperties() { - return new BizTracerProperties(); - } - - @Bean - public BizTracingAop enableBizTracingAop() { - return new BizTracingAop(); - } - -} diff --git a/src/main/java/cn/iocoder/dashboard/framework/tracer/config/TracerAutoConfiguration.java b/src/main/java/cn/iocoder/dashboard/framework/tracer/config/TracerAutoConfiguration.java new file mode 100644 index 0000000..917bc67 --- /dev/null +++ b/src/main/java/cn/iocoder/dashboard/framework/tracer/config/TracerAutoConfiguration.java @@ -0,0 +1,34 @@ +package cn.iocoder.dashboard.framework.tracer.config; + +import cn.iocoder.dashboard.framework.tracer.core.annotation.BizTracingAop; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Tracer 配置类 + * + * @author mashu + */ +@Configuration +@ConditionalOnClass({BizTracingAop.class}) +@EnableConfigurationProperties(BizTracerProperties.class) +@ConditionalOnProperty(prefix = "yudao.tracer", value = "enable", matchIfMissing = true) +public class TracerAutoConfiguration { + + @Bean + @ConditionalOnMissingBean + public BizTracerProperties bizTracerProperties() { + return new BizTracerProperties(); + } + + @Bean + @ConditionalOnMissingBean + public BizTracingAop bizTracingAop() { + return new BizTracingAop(); + } + +} diff --git a/src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracing.java b/src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracing.java new file mode 100644 index 0000000..c663ce6 --- /dev/null +++ b/src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracing.java @@ -0,0 +1,34 @@ +package cn.iocoder.dashboard.framework.tracer.core.annotation; + +import java.lang.annotation.*; + +/** + * 打印业务编号 / 业务类型注解 + * + * @author 麻薯 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +public @interface BizTracing { + + /** + * 业务编号 tag 名 + */ + String ID_TAG = "biz.id"; + /** + * 业务类型 tag 名 + */ + String TYPE_TAG = "biz.type"; + + /** + * @return 业务编号 + */ + String id(); + + /** + * @return 业务类型 + */ + String type(); + +} diff --git a/src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracingAop.java b/src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracingAop.java new file mode 100644 index 0000000..8ce87c0 --- /dev/null +++ b/src/main/java/cn/iocoder/dashboard/framework/tracer/core/annotation/BizTracingAop.java @@ -0,0 +1,32 @@ +package cn.iocoder.dashboard.framework.tracer.core.annotation; + +import cn.hutool.core.util.StrUtil; +import cn.iocoder.dashboard.util.sping.SpElUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.skywalking.apm.toolkit.trace.ActiveSpan; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; + +/** + * 业务链路AOP切面 + * + * @author mashu + */ +@Aspect +@Slf4j +public class BizTracingAop { + + @Around(value = "@annotation(bizTracing)") + public void tagBizInfo(ProceedingJoinPoint joinPoint, BizTracing bizTracing) { + String bizId = (String) SpElUtil.analysisSpEl(bizTracing.id(), joinPoint); + String bizType = (String) SpElUtil.analysisSpEl(bizTracing.type(), joinPoint); + if (StrUtil.isBlankIfStr(bizId)) { + log.error("empty biz: bizId[{}], bizType[{}].", bizId, bizType); + return; + } + log.info("accept biz: bizId[{}], bizType[{}].", bizId, bizType); + ActiveSpan.tag(BizTracing.ID_TAG, bizId); + ActiveSpan.tag(BizTracing.TYPE_TAG, bizType); + } +} -- libgit2 0.21.4