From e52ddfe8caf7d0027950033a5aff2a1fd3482e9d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 01 六月 2022 17:50:25 +0800
Subject: [PATCH] 优化装修 跟踪记录 回显
---
java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java | 66 +++++++++++++++++++++++++++------
1 files changed, 54 insertions(+), 12 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 19c2e42..4f279c4 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
@@ -3,11 +3,9 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
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.dto.trace.*;
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 +94,7 @@
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 +109,17 @@
} 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 +127,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"));
@@ -147,13 +149,33 @@
traceDto.setAnnotations(traceAnnotationsDtos);
traceDto.setTraceId(traceId);
- TraceParamDto traceParamDto = new TraceParamDto();
- traceParamDto.setReqHeader(reqHeader);
- traceParamDto.setReqParam(reqData);
+ traceDto.setDbs(new ArrayList<>());
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);
+
}
/**
@@ -206,6 +228,26 @@
}
/**
+ * 娣诲姞db
+ *
+ * @param sql
+ */
+ public static void putDbs(String sql, String param, long duration) {
+ TraceDto traceDto = getTraceDto();
+
+ if (traceDto == null) {
+ return;
+ }
+ List<TraceDbDto> dbs = traceDto.getDbs();
+ TraceDbDto traceDbDto = new TraceDbDto();
+ traceDbDto.setDbSql(sql);
+ traceDbDto.setParam(param);
+ traceDbDto.setDuration(duration+"");
+ dbs.add(traceDbDto);
+ traceDto.setDbs(dbs);
+ }
+
+ /**
* 娓呯悊浜嬪姟
*/
public static void clearTrace(String spanId) {
--
Gitblit v1.8.0