Bläddra i källkod

调用链加入 开关

java110 4 år sedan
förälder
incheckning
6259166c38

+ 7 - 0
java110-core/src/main/java/com/java110/core/trace/ApiLogAop.java

@@ -0,0 +1,7 @@
+package com.java110.core.trace;
+
+/**
+ * api 服务抓日志
+ */
+public class ApiLogAop {
+}

+ 12 - 12
java110-core/src/main/java/com/java110/core/trace/Java110TraceConfigurer.java

@@ -26,16 +26,16 @@ public class Java110TraceConfigurer extends WebMvcConfigurerAdapter {
         super.addInterceptors(registry);
     }
 
-    @Bean
-    @ConditionalOnBean(Java110FeignClientInterceptor.class)
-    public okhttp3.OkHttpClient okHttpClient(@Autowired
-                                                     Java110FeignClientInterceptor okHttpLoggingInterceptor){
-        okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder()
-                .readTimeout(30, TimeUnit.SECONDS) //读取超时
-                .connectTimeout(10, TimeUnit.SECONDS) //连接超时
-                .writeTimeout(60, TimeUnit.SECONDS) //写入超时
-                .connectionPool(new ConnectionPool(10 /*maxIdleConnections*/, 3, TimeUnit.MINUTES))
-                .addInterceptor(okHttpLoggingInterceptor);
-        return ClientBuilder.build();
-    }
+//    @Bean
+//    @ConditionalOnBean(Java110FeignClientInterceptor.class)
+//    public okhttp3.OkHttpClient okHttpClient(@Autowired
+//                                                     Java110FeignClientInterceptor okHttpLoggingInterceptor){
+//        okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder()
+//                .readTimeout(30, TimeUnit.SECONDS) //读取超时
+//                .connectTimeout(10, TimeUnit.SECONDS) //连接超时
+//                .writeTimeout(60, TimeUnit.SECONDS) //写入超时
+//                .connectionPool(new ConnectionPool(10 /*maxIdleConnections*/, 3, TimeUnit.MINUTES))
+//                .addInterceptor(okHttpLoggingInterceptor);
+//        return ClientBuilder.build();
+//    }
 }

+ 10 - 10
java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java

@@ -6,8 +6,8 @@ import com.java110.core.log.LoggerFactory;
 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;
@@ -96,7 +96,7 @@ public class Java110TraceFactory {
         return threadLocal.get();
     }
 
-    public static String createTrace(String name, Map<String, Object> headers, String reqData) {
+    public static String createTrace(String name, Map<String, Object> headers) {
         String traceId = "";
         String parentId = "";
         if (headers.containsKey(CommonConstant.TRACE_ID)) { //先取trace Id
@@ -111,11 +111,17 @@ public class Java110TraceFactory {
         } else {
             parentId = "0";
         }
-        return createTrace(name, traceId, parentId, TraceAnnotationsDto.VALUE_CLIENT_SEND, JSONObject.toJSONString(headers), reqData);
+        return createTrace(name, traceId, parentId, TraceAnnotationsDto.VALUE_CLIENT_SEND);
     }
 
 
-    public static String createTrace(String name, String traceId, String parentId, String event, String reqHeader, String reqData) {
+    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());
@@ -123,8 +129,6 @@ public class Java110TraceFactory {
         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"));
@@ -147,10 +151,6 @@ public class Java110TraceFactory {
         traceDto.setAnnotations(traceAnnotationsDtos);
         traceDto.setTraceId(traceId);
 
-        TraceParamDto traceParamDto = new TraceParamDto();
-        traceParamDto.setReqHeader(reqHeader);
-        traceParamDto.setReqParam(reqData);
-
         put(traceDto.getId(), traceDto);
         putSpanId(SPAN_ID, traceDto.getId());
         return traceDto.getId();

+ 1 - 5
java110-core/src/main/java/com/java110/core/trace/Java110TraceHandlerInterceptor.java

@@ -1,6 +1,5 @@
 package com.java110.core.trace;
 
-import com.alibaba.fastjson.JSONObject;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.trace.TraceAnnotationsDto;
 import org.slf4j.Logger;
@@ -9,9 +8,6 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
@@ -37,7 +33,7 @@ public class Java110TraceHandlerInterceptor extends HandlerInterceptorAdapter {
             headers.put(headerName.toLowerCase(), request.getHeader(headerName));
         }
         //调用链logSwatch
-        Java110TraceFactory.createTrace(url, headers,"");
+        Java110TraceFactory.createTrace(url, headers);
         return true;
     }
 

+ 10 - 0
java110-utils/src/main/java/com/java110/utils/constant/EnvironmentConstant.java

@@ -0,0 +1,10 @@
+package com.java110.utils.constant;
+
+public class EnvironmentConstant {
+
+    // 调用链开关
+    public static final String TRACE_SWITCH = "trace_switch";
+
+    // 调用链打开
+    public static final String TRACE_SWITCH_ON = "ON";
+}