diff --git a/ozhera-app/app-service/pom.xml b/ozhera-app/app-service/pom.xml index 1606191cb..1c70d8e9d 100644 --- a/ozhera-app/app-service/pom.xml +++ b/ozhera-app/app-service/pom.xml @@ -169,8 +169,8 @@ - com.alibaba - fastjson + com.alibaba.fastjson2 + fastjson2 compile diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java index e157c2322..9605f4be8 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java @@ -18,10 +18,10 @@ */ package org.apache.ozhera.app.service.mq; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.alibaba.nacos.api.config.annotation.NacosValue; -import org.apache.ozhera.app.api.message.HeraAppInfoModifyMessage; import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.app.api.message.HeraAppInfoModifyMessage; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.common.message.Message; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ozhera-demo-client/ozhera-demo-client-common/pom.xml b/ozhera-demo-client/ozhera-demo-client-common/pom.xml index 9992c0de8..aa3d11929 100644 --- a/ozhera-demo-client/ozhera-demo-client-common/pom.xml +++ b/ozhera-demo-client/ozhera-demo-client-common/pom.xml @@ -53,12 +53,6 @@ org.apache.rocketmq rocketmq-client - - - com.alibaba - fastjson - - org.projectlombok diff --git a/ozhera-log/log-agent/pom.xml b/ozhera-log/log-agent/pom.xml index ef2abb2a7..614ea717e 100644 --- a/ozhera-log/log-agent/pom.xml +++ b/ozhera-log/log-agent/pom.xml @@ -100,12 +100,6 @@ http://www.apache.org/licenses/LICENSE-2.0 org.apache.rocketmq rocketmq-client - - - fastjson - com.alibaba - - @@ -119,6 +113,11 @@ http://www.apache.org/licenses/LICENSE-2.0 + + com.alibaba.fastjson2 + fastjson2 + + org.apache.kafka kafka-clients diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java index 518b118c7..9d1958dae 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java @@ -18,8 +18,8 @@ */ package org.apache.ozhera.log.agent.common.trace; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Sets; import org.apache.ozhera.tspandata.TAttributeKey; import org.apache.ozhera.tspandata.TAttributeType; diff --git a/ozhera-log/log-manager/pom.xml b/ozhera-log/log-manager/pom.xml index 7fd85ab8c..5c82e54c7 100644 --- a/ozhera-log/log-manager/pom.xml +++ b/ozhera-log/log-manager/pom.xml @@ -55,6 +55,12 @@ http://www.apache.org/licenses/LICENSE-2.0 run.mone nacos + + + com.alibaba + fastjson + + @@ -66,6 +72,10 @@ http://www.apache.org/licenses/LICENSE-2.0 org.springframework spring-core + + com.alibaba.fastjson2 + fastjson2 + run.mone @@ -75,6 +85,10 @@ http://www.apache.org/licenses/LICENSE-2.0 com.alibaba.spring spring-context-support + + com.alibaba + fastjson + @@ -242,10 +256,6 @@ http://www.apache.org/licenses/LICENSE-2.0 httpclient org.apache.httpcomponents - - fastjson - com.alibaba - diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java index ad1fc4aa5..ce69e9faf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java @@ -19,8 +19,8 @@ package org.apache.ozhera.log.manager.domain; import cn.hutool.core.date.DateTime; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; import com.google.gson.Gson; import org.apache.ozhera.log.api.model.dto.TraceLogDTO; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java index c3824a543..87a2a8abb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java @@ -18,7 +18,7 @@ */ package org.apache.ozhera.log.manager.model.pojo; -import com.alibaba.fastjson.annotation.JSONField; +import com.alibaba.fastjson2.annotation.JSONField; import org.apache.ozhera.log.api.model.meta.FilterDefine; import org.apache.ozhera.log.manager.model.BaseCommon; import org.apache.ozhera.log.manager.model.dto.MotorRoomDTO; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java index 5575d1c79..e151a5095 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java @@ -20,7 +20,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Pair; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.google.common.collect.Lists; import com.xiaomi.mone.es.EsClient; import com.xiaomi.youpin.docean.Ioc; diff --git a/ozhera-log/log-stream/pom.xml b/ozhera-log/log-stream/pom.xml index 5ead13548..9912237fa 100644 --- a/ozhera-log/log-stream/pom.xml +++ b/ozhera-log/log-stream/pom.xml @@ -47,6 +47,10 @@ http://www.apache.org/licenses/LICENSE-2.0 run.mone docean + + com.alibaba.fastjson2 + fastjson2 + org.apache.rocketmq @@ -65,10 +69,6 @@ http://www.apache.org/licenses/LICENSE-2.0 httpclient org.apache.httpcomponents - - fastjson - com.alibaba - diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java index c1c0d762d..2491852d5 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java @@ -18,7 +18,7 @@ */ package org.apache.ozhera.log.stream.job.extension.impl; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.google.gson.internal.LinkedTreeMap; import com.google.gson.reflect.TypeToken; import com.xiaomi.mone.es.EsProcessor; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java index 7c878bebf..34a74d1d1 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java @@ -19,7 +19,7 @@ package org.apache.ozhera.log.stream.plugin.es; import cn.hutool.core.collection.ListUtil; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.google.common.collect.Lists; import com.google.gson.Gson; import com.xiaomi.mone.es.EsProcessor; diff --git a/ozhera-monitor/ozhera-monitor-service/pom.xml b/ozhera-monitor/ozhera-monitor-service/pom.xml index 873381ff5..c8287c869 100644 --- a/ozhera-monitor/ozhera-monitor-service/pom.xml +++ b/ozhera-monitor/ozhera-monitor-service/pom.xml @@ -32,10 +32,11 @@ - fastjson - com.alibaba + fastjson2 + com.alibaba.fastjson2 + run.mone common diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java index d0fad71f0..621bff4b0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java @@ -19,7 +19,7 @@ package org.apache.ozhera.monitor.service.http; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONObject; import com.alibaba.nacos.api.config.annotation.NacosValue; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -88,14 +88,14 @@ public String getHttpM(String url, Map map){ return result; } - public String getHttpMPost(String url, com.alibaba.fastjson.JSONObject param, MediaType mediaType){ + public String getHttpMPost(String url, com.alibaba.fastjson2.JSONObject param, MediaType mediaType){ log.info("RestTemplateService.getHttpMPost url:{},param:{},mediaType:{}",url,param,mediaType); HttpHeaders headers = new HttpHeaders(); headers.setContentType(mediaType); - HttpEntity request = new HttpEntity<>(param, headers); + HttpEntity request = new HttpEntity<>(param, headers); // 发送post请求,并打印结果,以String类型接收响应结果JSON字符串 String result = null; try { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java index 95a4a8aaa..fadf051b9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java @@ -19,11 +19,15 @@ package org.apache.ozhera.monitor.service.impl; -import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.extern.slf4j.Slf4j; import org.apache.ozhera.monitor.bo.AlertGroupInfo; import org.apache.ozhera.monitor.bo.AlertGroupParam; import org.apache.ozhera.monitor.bo.UserInfo; @@ -38,15 +42,11 @@ import org.apache.ozhera.monitor.service.helper.AlertHelper; import org.apache.ozhera.monitor.service.model.PageData; import org.apache.ozhera.monitor.service.user.UserConfigService; -import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import static com.alibaba.fastjson2.JSON.parseArray; /** * 报警组service @@ -54,19 +54,19 @@ @Slf4j @Service public class AlertGroupServiceImpl implements AlertGroupService { - + @Autowired private AlertServiceAdapt alertServiceAdapt; - + @Autowired private AlertHelper alertHelper; - + @Autowired private AlertGroupDao alertGroupDao; - + @Autowired UserConfigService userConfigService; - + /** * 数据清洗专用 * @@ -89,7 +89,7 @@ public Result initAlertGroupData() { }); return Result.success(null); } - + /** * 用户搜索 * @@ -101,7 +101,7 @@ public Result initAlertGroupData() { public Result>> userSearch(String user, AlertGroupParam param) { return alertServiceAdapt.searchUser(user, param.getName(), param.getPage(), param.getPageSize()); } - + /** * 告警组搜索 * @@ -117,14 +117,14 @@ public Result>> alertGroupSearch(String user, Aler pageData.setTotal(0L); boolean admin = userConfigService.isAdmin(user); PageData> pageAgList = alertGroupDao.searchByCond(admin, user, param.getName(), - param.getType(), param.getPage(), param.getPageSize()); + param.getType(), param.getPage(), param.getPageSize()); if (pageAgList != null && pageAgList.getList() != null) { pageData.setTotal(pageAgList.getTotal()); pageData.setList(alertHelper.buildAlertGroupInfoList(admin, user, pageAgList.getList())); } return Result.success(pageData); } - + /** * 告警组查询通过id列表 * @@ -138,7 +138,7 @@ public Result> queryByIds(String user, List ids) { boolean admin = userConfigService.isAdmin(user); return Result.success(alertHelper.buildAlertGroupInfoList(admin, user, agList)); } - + /** * 告警组同步 * @@ -172,7 +172,7 @@ public Result sync(String user, String type) { relIdMap.values().forEach(g -> alertGroupDao.insert(g)); return Result.success(null); } - + /** * 告警组搜索 * @@ -196,7 +196,7 @@ public Result> alertGroupSearchByIds(String user, Aler } return Result.success(mapData); } - + /** * 告警组详情 * @@ -210,7 +210,7 @@ public Result alertGroupDetailed(String user, AlertGroupParam pa boolean isAdmin = userConfigService.isAdmin(user); return Result.success(alertHelper.buildAlertGroupInfo(isAdmin, user, ag)); } - + /** * 告警组创建 * @@ -221,7 +221,7 @@ public Result alertGroupDetailed(String user, AlertGroupParam pa @Override public Result alertGroupCreate(String user, AlertGroupParam param) { Result result = alertServiceAdapt.createAlertGroup(user, param.getName(), param.getNote(), - param.getChatId(), param.getMemberIds(), param.getDutyInfo()); + param.getChatId(), param.getMemberIds(), param.getDutyInfo()); if (result == null) { return Result.fail(ErrorCode.unknownError); } @@ -241,7 +241,7 @@ public Result alertGroupCreate(String user, AlertGroupParam para boolean isAdmin = userConfigService.isAdmin(user); return Result.success(alertHelper.buildAlertGroupInfo(isAdmin, user, ag)); } - + /** * 告警组编辑 * @@ -256,7 +256,7 @@ public Result alertGroupEdit(String user, AlertGroupParam param) { return Result.fail(ErrorCode.NoOperPermission); } Result result = alertServiceAdapt.editAlertGroup(user, ag.getRelId(), param.getName(), param.getNote(), - param.getChatId(), param.getMemberIds(), param.getDutyInfo()); + param.getChatId(), param.getMemberIds(), param.getDutyInfo()); if (result == null) { return Result.fail(ErrorCode.unknownError); } @@ -276,7 +276,7 @@ public Result alertGroupEdit(String user, AlertGroupParam param) { } return Result.success(null); } - + /** * 告警组删除 * @@ -307,18 +307,18 @@ public Result alertGroupDelete(String user, AlertGroupParam param) { alertGroupDao.delete(ag); return Result.success(null); } - + @Override public Result dutyInfoList(String user, AlertGroupParam param) { Result result = alertServiceAdapt.dutyInfoList(user, param.getId(), param.getStart(), - param.getEnd()); + param.getEnd()); if (result.isSuccess() && result.getData() != null) { JsonArray asJsonArray = result.getData().getAsJsonArray(); - List list = JSONObject.parseArray(new Gson().toJson(asJsonArray), Map.class); + List list = parseArray(new Gson().toJson(asJsonArray), Map.class); return Result.success(list); } log.info("dutyInfoList param:{}, result:{}", param.toString(), new Gson().toJson(result)); return result; } - + } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java index 0040f96c5..968b33c64 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java @@ -19,7 +19,7 @@ package org.apache.ozhera.monitor.service.prometheus; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.alibaba.nacos.api.config.annotation.NacosValue; import com.google.common.collect.Lists; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java index 553b53233..891cf624e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java @@ -19,7 +19,7 @@ package org.apache.ozhera.monitor.service.rocketmq; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import org.apache.ozhera.monitor.service.rocketmq.model.HeraAppMessage; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.producer.DefaultMQProducer; diff --git a/pom.xml b/pom.xml index 91be71e0b..d4167701c 100644 --- a/pom.xml +++ b/pom.xml @@ -118,15 +118,10 @@ cglib-nodep 3.2.7 - - com.alibaba.fastjson2 - fastjson2 - 2.0.27 - com.alibaba.fastjson2 fastjson2-extension - 2.0.27 + 2.0.56 run.mone @@ -160,9 +155,9 @@ 1.2.1-mone - com.alibaba - fastjson - 2.0.25 + com.alibaba.fastjson2 + fastjson2 + 2.0.56 diff --git a/trace-etl/trace-etl-common/pom.xml b/trace-etl/trace-etl-common/pom.xml index 9b0019329..cf70d3863 100644 --- a/trace-etl/trace-etl-common/pom.xml +++ b/trace-etl/trace-etl-common/pom.xml @@ -75,8 +75,8 @@ slf4j-log4j12 - com.alibaba - fastjson + com.alibaba.fastjson2 + fastjson2 org.apache.commons diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java index 5f89dba49..b6433925e 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java @@ -19,7 +19,7 @@ package org.apache.ozhera.trace.etl.es.queue.impl; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONObject; import com.xiaomi.data.push.common.SnowFlake; import org.apache.ozhera.trace.etl.es.util.redis.RedisClientUtil; import lombok.extern.slf4j.Slf4j; diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml b/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml index eadba139a..eebf6ea90 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml @@ -60,6 +60,10 @@ + + com.alibaba.fastjson2 + fastjson2 + diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java index b5835a356..028651745 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java @@ -19,7 +19,7 @@ package org.apache.ozhera.trace.etl.extension.es; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONObject; import com.xiaomi.mone.es.EsProcessor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java index de4487fbc..68097cef6 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java @@ -19,10 +19,21 @@ package org.apache.ozhera.trace.etl.extension.es; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.JSONWriter; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.ozhera.trace.etl.domain.DriverDomain; import org.apache.ozhera.trace.etl.domain.ErrorTraceMessage; import org.apache.ozhera.trace.etl.domain.jaegeres.JaegerAttrType; @@ -42,21 +53,9 @@ import org.apache.ozhera.tspandata.TSpanContext; import org.apache.ozhera.tspandata.TSpanData; import org.apache.ozhera.tspandata.TValue; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; - @Slf4j public class WriteEsService { @@ -73,10 +72,10 @@ public class WriteEsService { private EsTraceUtil esTraceUtil; private Cache localCache = - CacheBuilder.newBuilder(). - maximumSize(50000). - expireAfterWrite(MessageUtil.TRACE_SERVICE_REDIS_KEY_EXPIRE, TimeUnit.SECONDS). - build(); + CacheBuilder.newBuilder(). + maximumSize(50000). + expireAfterWrite(MessageUtil.TRACE_SERVICE_REDIS_KEY_EXPIRE, TimeUnit.SECONDS). + build(); public void insertJaegerService(String date, String serviceName, String oprationName) { // Determine whether there is @@ -132,7 +131,7 @@ public String buildJaegerES(TSpanData tSpanData) { jaegerESDomain.setLogs(buildLogs(tSpanData.getEvents())); // build process jaegerESDomain.setProcess(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResouce())); - return JSONObject.toJSONString(jaegerESDomain, SerializerFeature.WriteMapNullValue); + return JSONObject.toJSONString(jaegerESDomain, JSONWriter.Feature.WriteNulls); } private List buildReferences(TSpanContext parentSpanContext, List links) { @@ -194,10 +193,10 @@ private List buildAttributes(TAttributes attributes) { return list; } - private JaegerProcess buildProcess(String serviceName, TResource resource){ + private JaegerProcess buildProcess(String serviceName, TResource resource) { JaegerProcess jaegerProcess = new JaegerProcess(); jaegerProcess.setServiceName(serviceName); - if(resource != null) { + if (resource != null) { jaegerProcess.setTags(buildAttributes(resource.getAttributes())); } return jaegerProcess; @@ -215,7 +214,7 @@ public void insertDriver(DriverDomain driverDomain) { String replace = format.replace("-", "."); String index = driverIndexPrefix + replace; try { - JSONObject jsonObject = (JSONObject) JSONObject.toJSON(driverDomain); + JSONObject jsonObject = JSONObject.from(driverDomain); esTraceUtil.insertBulk(index, jsonObject); } catch (Exception e) { log.error("db/redis es data exception:", e); diff --git a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml index c8ed84f36..27c63d9c2 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml +++ b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml @@ -65,12 +65,6 @@ org.apache.rocketmq rocketmq-client - - - fastjson - com.alibaba - - diff --git a/trace-etl/trace-etl-nginx/pom.xml b/trace-etl/trace-etl-nginx/pom.xml index 009639897..404ee251c 100644 --- a/trace-etl/trace-etl-nginx/pom.xml +++ b/trace-etl/trace-etl-nginx/pom.xml @@ -49,6 +49,10 @@ + + com.alibaba.fastjson2 + fastjson2 + diff --git a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java index 630aec88a..99e556aeb 100644 --- a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java +++ b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java @@ -19,7 +19,7 @@ package org.apache.ozhera.trace.etl.nginx.parser; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONObject; import org.apache.ozhera.trace.etl.domain.NginxJaegerDomain; import org.apache.ozhera.trace.etl.domain.jaegeres.JaegerAttrType; import org.apache.ozhera.trace.etl.util.ThriftUtil; diff --git a/trace-etl/trace-etl-service/pom.xml b/trace-etl/trace-etl-service/pom.xml index 81756894f..2ff5da03a 100644 --- a/trace-etl/trace-etl-service/pom.xml +++ b/trace-etl/trace-etl-service/pom.xml @@ -206,12 +206,6 @@ org.apache.rocketmq rocketmq-client - - - fastjson - com.alibaba - - diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java index 816e2371a..af5f10251 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java @@ -19,9 +19,17 @@ package org.apache.ozhera.trace.etl.util; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Sets; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.ozhera.tspandata.TAttributeKey; import org.apache.ozhera.tspandata.TAttributeType; import org.apache.ozhera.tspandata.TAttributes; @@ -35,19 +43,10 @@ import org.apache.ozhera.tspandata.TSpanData; import org.apache.ozhera.tspandata.TStatus; import org.apache.ozhera.tspandata.TValue; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.apache.thrift.TSerializer; import org.apache.thrift.protocol.TCompactProtocol; import org.apache.thrift.protocol.TProtocolFactory; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; - @Slf4j public class TraceUtil { @@ -58,12 +57,12 @@ public class TraceUtil { private static final String TAG_KEY_IP = "ip"; private static final String TAG_KEY_HOST = "host.name"; private static final Set SPECIAL_TAG_KEYS = Sets.newHashSet(TAG_KEY_SPAN_KIND, - TAG_KEY_SERVICE_NAME, TAG_KEY_IP, TAG_KEY_HOST); + TAG_KEY_SERVICE_NAME, TAG_KEY_IP, TAG_KEY_HOST); public static byte[] toBytes(String spanStr) { try { TSpanData tSpanData = toTSpanData(spanStr); - if(tSpanData == null){ + if (tSpanData == null) { return null; } TSerializer serializer = new TSerializer(PROTOCOL_FACTORY); @@ -103,7 +102,7 @@ private static TSpanData toTSpanData(String[] array) { span.setEndEpochNanos(span.getStartEpochNanos() + Long.parseLong(array[MessageUtil.DURATION])); Map specialAttrMap = new HashMap<>(); span.setAttributes(toTAttributes(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.TAGS])), - specialAttrMap)); + specialAttrMap)); span.setTotalAttributeCount(span.getAttributes().getKeysSize()); // using tags["span.kind"] as span kind String spanKind = specialAttrMap.get(TAG_KEY_SPAN_KIND) == null ? SPAN_KIND_INTERNAL : specialAttrMap.get(TAG_KEY_SPAN_KIND).getStringValue(); @@ -111,12 +110,12 @@ private static TSpanData toTSpanData(String[] array) { span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS])))); span.setTotalRecordedEvents(span.getEventsSize()); span.setResouce( - toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap)); + toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap)); span.setExtra(toTExtra(specialAttrMap)); // using links["ref_type=CHILD_OF"] as parent span context and using left as links AtomicReference parentSpanContextRef = new AtomicReference<>(); span.setLinks( - toTLinkList(JSONArray.parseArray(array[MessageUtil.REFERERNCES]), parentSpanContextRef)); + toTLinkList(JSONArray.parseArray(array[MessageUtil.REFERERNCES]), parentSpanContextRef)); span.setParentSpanContext(parentSpanContextRef.get()); span.setTotalRecordedLinks(span.getLinksSize()); return span; @@ -124,9 +123,9 @@ private static TSpanData toTSpanData(String[] array) { private static String decodeLineBreak(String value) { if (StringUtils.isNotEmpty(value)) { - return value.replaceAll("\\\\","\\\\\\\\").replaceAll("##r'", "\\\\\"") - .replaceAll("##n", "\\\\n").replaceAll("##r", "\\\\r").replaceAll("##t", "\\\\t") - .replaceAll("##tat", "\\\\tat").replaceAll("##'", "\\\\\""); + return value.replaceAll("\\\\", "\\\\\\\\").replaceAll("##r'", "\\\\\"") + .replaceAll("##n", "\\\\n").replaceAll("##r", "\\\\r").replaceAll("##t", "\\\\t") + .replaceAll("##tat", "\\\\tat").replaceAll("##'", "\\\\\""); } return value; } @@ -135,7 +134,7 @@ private static String decodeLineBreak(String value) { * convert links. */ private static List toTLinkList(JSONArray links, - AtomicReference spanContextAtomicReference) { + AtomicReference spanContextAtomicReference) { if (links == null) { return null; } @@ -183,7 +182,7 @@ private static TSpanContext toTSpanContext(JSONObject ctx) { * convert instrumentation lib info. */ private static TInstrumentationLibraryInfo toTInstrumentationLibraryInfo(String name, - String version) { + String version) { if (name == null && version == null) { return null; } @@ -216,7 +215,7 @@ private static TAttributes toTAttributes(JSONArray attributes) { * convert attributes. */ private static TAttributes toTAttributes(JSONArray attributes, - Map specialAttrMap) { + Map specialAttrMap) { if (attributes == null) { return null; } @@ -229,44 +228,43 @@ private static TAttributes toTAttributes(JSONArray attributes, TAttributeKey attributeKey = toTAttributeKey(attrJson); Object value = attrJson.get("value"); // try { - TValue attributeValue = new TValue(); - switch (attributeKey.getType()) { - case LONG: - if(value instanceof String){ - attributeValue.setLongValue(Long.valueOf((String) value)); - } else { - attributeValue.setLongValue((Long) value); - } - break; - case DOUBLE: - if(value instanceof String){ - attributeValue.setDoubleValue(Double.valueOf((String) value)); - } else { - attributeValue.setDoubleValue((Double) value); - } - break; - case STRING: - attributeValue.setStringValue(String.valueOf(value)); - break; - case BOOLEAN: - if(value instanceof String){ - attributeValue.setBoolValue(Boolean.valueOf((String) value)); - } else { - attributeValue.setBoolValue((Boolean) value); - } - break; - default: - } - if (specialAttrMap != null && SPECIAL_TAG_KEYS.contains(attributeKey.getValue())) { - specialAttrMap.put(attributeKey.getValue(), attributeValue); - } - ret.getKeys().add(attributeKey); - ret.getValues().add(attributeValue); + TValue attributeValue = new TValue(); + switch (attributeKey.getType()) { + case LONG: + if (value instanceof String) { + attributeValue.setLongValue(Long.valueOf((String) value)); + } else { + attributeValue.setLongValue((Long) value); + } + break; + case DOUBLE: + if (value instanceof String) { + attributeValue.setDoubleValue(Double.valueOf((String) value)); + } else { + attributeValue.setDoubleValue((Double) value); + } + break; + case STRING: + attributeValue.setStringValue(String.valueOf(value)); + break; + case BOOLEAN: + if (value instanceof String) { + attributeValue.setBoolValue(Boolean.valueOf((String) value)); + } else { + attributeValue.setBoolValue((Boolean) value); + } + break; + default: + } + if (specialAttrMap != null && SPECIAL_TAG_KEYS.contains(attributeKey.getValue())) { + specialAttrMap.put(attributeKey.getValue(), attributeValue); + } + ret.getKeys().add(attributeKey); + ret.getValues().add(attributeValue); }); return ret; } - /** * convert attribute key. */