From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
java110-core/src/main/java/com/java110/core/trace/Java110TraceFactory.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 54 insertions(+), 6 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..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,10 +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.*;
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 +99,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 +114,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 +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"));
@@ -145,9 +148,34 @@
traceAnnotationsDtos.add(traceAnnotationsDto);
traceDto.setAnnotations(traceAnnotationsDtos);
traceDto.setTraceId(traceId);
+
+ 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);
+
}
/**
@@ -200,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