From a1494adbb19d7263cb43565b26c48c439bdaa63a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 21 二月 2022 08:25:41 +0800
Subject: [PATCH] 优化 参数问题

---
 java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java b/java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java
index da11bf2..57db2b3 100644
--- a/java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java
+++ b/java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java
@@ -6,7 +6,9 @@
 import com.java110.dto.trace.TraceAnnotationsDto;
 import com.java110.dto.trace.TraceDto;
 import com.java110.dto.trace.TraceEndpointDto;
+import com.java110.dto.trace.TraceParamDto;
 import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.EnvironmentConstant;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.kafka.KafkaFactory;
 import com.java110.utils.util.DateUtil;
@@ -100,7 +102,7 @@
         String parentId = "";
         if (headers.containsKey(CommonConstant.TRACE_ID)) { //鍏堝彇trace Id
             traceId = headers.get(CommonConstant.TRACE_ID).toString();
-        }else if (headers.containsKey(CommonConstant.TRANSACTION_ID)) {
+        } else if (headers.containsKey(CommonConstant.TRANSACTION_ID)) {
             traceId = headers.get(CommonConstant.TRANSACTION_ID).toString();
         } else {
             traceId = GenerateCodeFactory.getUUID();
@@ -115,6 +117,12 @@
 
 
     public static String createTrace(String name, String traceId, String parentId, String event) {
+        //鍒濆浜嬩欢
+        Environment environment = (Environment) ApplicationContextFactory.getBean(Environment.class);
+        //鍒ゆ柇璋冪敤閾炬槸鍚︽墦寮�
+        if (!EnvironmentConstant.TRACE_SWITCH_ON.equals(environment.getProperty(EnvironmentConstant.TRACE_SWITCH))) {
+            return "";
+        }
         //鍏ㄥ眬浜嬪姟寮�鍚��
         TraceDto traceDto = new TraceDto();
         traceDto.setId(GenerateCodeFactory.getUUID());
@@ -122,8 +130,6 @@
         traceDto.setParentSpanId(parentId);
         traceDto.setTimestamp(DateUtil.getCurrentDate().getTime());
 
-        //鍒濆浜嬩欢
-        Environment environment = (Environment) ApplicationContextFactory.getBean(Environment.class);
         TraceAnnotationsDto traceAnnotationsDto = new TraceAnnotationsDto();
         TraceEndpointDto traceEndpointDto = new TraceEndpointDto();
         traceEndpointDto.setServiceName(environment.getProperty("spring.application.name"));
@@ -145,12 +151,35 @@
         traceAnnotationsDtos.add(traceAnnotationsDto);
         traceDto.setAnnotations(traceAnnotationsDtos);
         traceDto.setTraceId(traceId);
+
         put(traceDto.getId(), traceDto);
         putSpanId(SPAN_ID, traceDto.getId());
         return traceDto.getId();
     }
 
     /**
+     * 娣诲姞鍙傛暟
+     *
+     * @param traceParamDto
+     */
+    public static void putParams(TraceParamDto traceParamDto) {
+        TraceDto traceDto = getTraceDto();
+
+        if (traceDto == null) {
+            return;
+        }
+
+        //濡傛灉瀛樺湪 鍒欒烦杩�
+        if (traceDto.getParam() != null) {
+            return;
+        }
+
+        traceDto.setParam(traceParamDto);
+        put(getSpanId(SPAN_ID), traceDto);
+
+    }
+
+    /**
      * 娣诲姞鍔ㄤ綔鏃堕棿
      *
      * @param event

--
Gitblit v1.8.0