This is an automated email from the ASF dual-hosted git repository.

zhangxiaowei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozhera.git


The following commit(s) were added to refs/heads/master by this push:
     new 01212237 feat: add trace downgrade strategy switch (#592) (#595)
01212237 is described below

commit 01212237f15f227a53dcb264bbfdae1521a0142f
Author: EricDing <[email protected]>
AuthorDate: Wed Jul 2 14:56:14 2025 +0800

    feat: add trace downgrade strategy switch (#592) (#595)
    
    * feat: add trace downgrade strategy switch
    
    * fix: add apache header
---
 .../apache/ozhera/app/model/HeraMetaDataPort.java  |   1 -
 .../client/config/PrometheusConfiguration.java     |   1 -
 .../ozhera/log/agent/channel/ChannelEngine.java    |   1 -
 .../ozhera/log/agent/extension/KafkaExporter.java  |  29 ++--
 .../ozhera/log/agent/extension/KafkaService.java   |  32 +++-
 .../ozhera/log/agent/extension/RmqExporter.java    |   7 +-
 .../log/agent/extension/RocketMQService.java       |   1 -
 .../log/agent/extension/TopAppPartitioner.java     |  56 +++++++
 .../extension/nacos/AppPartitionConfigService.java | 168 +++++++++++++++++++++
 .../log/agent/extension/nacos/NacosConfigUtil.java |  56 +++----
 .../log/agent/factory/OutPutServiceFactory.java    |   1 -
 .../OuterChannelDefineLocatorExtensionImpl.java    |   1 -
 .../log-agent/src/main/resources/config.properties |   4 +-
 .../ozhera/monitor/pojo/BasicUrlTypePOJO.java      |   1 -
 .../ozhera/monitor/pojo/MetricLabelKindPOJO.java   |   1 -
 .../ozhera/monitor/pojo/ReqSlowMetricsPOJO.java    |   1 -
 .../alertmanager/impl/AlarmExprServiceOuter.java   |  24 +++
 .../service/api/MetricsLabelKindService.java       |   1 -
 .../api/impl/AlarmPresetMetricsServiceImpl.java    |   1 -
 .../api/impl/AppAlarmServiceExtensionImpl.java     |   1 -
 .../AppGrafanaMappingServiceExtensionImpl.java     |   1 -
 .../api/impl/ComputeTimerServiceExtensionImpl.java |   1 -
 .../monitor/service/api/impl/IAMServiceImpl.java   |   1 -
 .../api/impl/MetricsLabelKindServiceImpl.java      |   1 -
 .../api/impl/ReqErrorMetricsServiceImpl.java       |   1 -
 .../api/impl/ReqSlowMetricsServiceImpl.java        |   1 -
 .../monitor/service/api/impl/TeslaServiceImpl.java |   1 -
 .../monitor/service/es/EsExtensionServiceImpl.java |   1 -
 .../service/helper/AlertHelperExtensionImpl.java   |   1 -
 .../prometheus/AlarmServiceExtensionImpl.java      |   1 -
 .../ozhera/operator/common/ESIndexConst.java       |   1 -
 .../hera_trace_config_#_DEFAULT_GROUP.properties   |   5 +-
 ...imonitor_open_config_#_DEFAULT_GROUP.properties |   3 +
 .../apache/ozhera/operator/service/ESService.java  |   1 -
 .../ozhera/operator/service/NacosService.java      |   1 -
 .../ozhera/operator/service/RocketMQService.java   |   1 -
 .../apache/ozhera/webhook/domain/JsonPatch.java    |   1 -
 .../ozhera/webhook/service/HeraWebhookService.java |   2 -
 .../service/impl/HeraWebhookServiceImpl.java       |   1 -
 .../client/binder/ClassLoaderMetricsReduced.java   |   1 -
 .../all/client/binder/JvmGcMetricsReduced.java     |   1 -
 .../all/client/binder/JvmMemoryMetricsReduced.java |   1 -
 .../all/client/binder/JvmThreadMetricsReduced.java |   1 -
 .../prometheus/starter/all/domain/Const.java       |   1 -
 .../starter/all/factory/ServiceFactory.java        |   2 -
 .../all/service/MilinePrometheusService.java       |   1 -
 .../trace/etl/api/service/TraceManagerService.java |   1 -
 .../apache/ozhera/trace/etl/common/HashUtil.java   |   1 -
 .../ozhera/trace/etl/common/TimeConverter.java     |   1 -
 .../ozhera/trace/etl/domain/DriverDomain.java      |   1 -
 .../ozhera/trace/etl/domain/HeraTraceConfigVo.java |   1 -
 .../trace/etl/domain/JaegerTracerDomain.java       |   1 -
 .../trace/etl/domain/MetricsParseResult.java       |  53 +------
 .../ozhera/trace/etl/domain/NginxJaegerDomain.java |   3 +-
 .../apache/ozhera/trace/etl/domain/PagerVo.java    |   1 -
 .../trace/etl/domain/metadata/HeraMetaData.java    |   3 -
 .../etl/domain/metadata/HeraMetaDataMessage.java   |   3 -
 .../etl/domain/metadata/HeraMetaDataModel.java     |   3 -
 .../etl/domain/metadata/HeraMetaDataPort.java      |   3 -
 .../etl/domain/metadata/HeraMetaDataPortModel.java |   3 -
 .../etl/domain/metadata/HeraMetaDataType.java      |   3 -
 .../ozhera/trace/etl/domain/tracequery/Span.java   |   3 +-
 .../ozhera/trace/etl/domain/tracequery/Trace.java  |   3 +-
 .../etl/domain/tracequery/TraceIdQueryVo.java      |   3 +-
 .../etl/domain/tracequery/TraceListQueryVo.java    |   3 +-
 .../etl/domain/tracequery/TraceOperationsVo.java   |   3 +-
 .../etl/domain/tracequery/TraceQueryResult.java    |   3 +-
 .../trace/etl/es/config/ServiceConfiguration.java  |   1 -
 .../ozhera/trace/etl/es/config/TraceConfig.java    |   1 -
 .../etl/es/consumer/KafkaTraceSpanConsumer.java    |   1 -
 .../etl/es/consumer/RocketMQTraceSpanConsumer.java |   1 -
 .../ozhera/trace/etl/es/domain/FilterResult.java   |   1 -
 .../ozhera/trace/etl/es/domain/FutureRequest.java  |   1 -
 .../ozhera/trace/etl/es/domain/LocalStorages.java  |   1 -
 .../trace/etl/es/dubbo/TraceEtlServiceImpl.java    |   1 -
 .../etl/extension/doris/QueryDorisService.java     |   3 +-
 .../trace/etl/extension/es/QueryEsService.java     |   3 +-
 .../etl/extension/rocketmq/ClientMessageQueue.java |   3 +-
 .../rocketmq/ClientMessageQueueWrapper.java        |   3 +-
 .../etl/manager/config/FilterConfiguration.java    |   3 +-
 .../etl/manager/config/ServiceConfiguration.java   |   3 +-
 .../etl/manager/controller/ManagerController.java  |   3 +-
 .../etl/manager/controller/TraceController.java    |   3 +-
 .../etl/manager/dubbo/TraceManagerServiceImpl.java |   3 +-
 .../etl/manager/filter/RequestHeaderFilter.java    |   3 +-
 .../metadata/dubbo/HeraMetaDataServiceImpl.java    |   4 -
 .../etl/metadata/mq/KafkaHeraMetaDataConsumer.java |   3 -
 .../metadata/mq/RocketMQHeraMetaDataConsumer.java  |   3 -
 .../etl/nginx/parser/NginxLogToTraceBase.java      |   1 -
 trace-etl/trace-etl-server/README.md               |  20 ++-
 trace-etl/trace-etl-server/README_CN.md            |  21 ++-
 .../trace/etl/config/ServiceConfiguration.java     |   3 +-
 .../ozhera/trace/etl/config/TraceConfig.java       |   3 +-
 .../ozhera/trace/etl/constant/MetricsName.java     |   3 +-
 .../apache/ozhera/trace/etl/constant/SpanKind.java |   3 +-
 .../apache/ozhera/trace/etl/constant/SpanType.java |   3 +-
 .../trace/etl/consumer/MetricsParseService.java    |  25 ++-
 .../trace/etl/dubbo/TraceEtlServiceImpl.java       |   3 +-
 .../apache/ozhera/trace/etl/test/TestConsumer.java |   3 +-
 .../trace/etl/service/HeraContextService.java      |   3 +-
 .../ozhera/trace/etl/service/ManagerService.java   |   3 +-
 .../etl/service/impl/HeraContextServiceImpl.java   |   3 +-
 .../trace/etl/service/impl/ManagerServiceImpl.java |   3 +-
 .../ozhera/trace/etl/util/pool/AsyncNotify.java    |   3 +-
 104 files changed, 420 insertions(+), 252 deletions(-)

diff --git 
a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java
 
b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java
index 429fcc05..52849d2c 100644
--- 
a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java
+++ 
b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java
@@ -24,7 +24,6 @@ import lombok.NoArgsConstructor;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/28 12:12 PM
  */
 @Data
diff --git 
a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java
 
b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java
index 06c49843..b2faba26 100644
--- 
a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java
+++ 
b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java
@@ -27,7 +27,6 @@ import javax.annotation.PostConstruct;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/3/7 12:14 PM
  */
 @Configuration
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java
index 9a023b54..a1c3b53d 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java
@@ -55,7 +55,6 @@ import org.apache.ozhera.log.api.model.vo.UpdateLogProcessCmd;
 import org.apache.ozhera.log.common.Constant;
 import org.apache.ozhera.log.utils.NetUtil;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.text.NumberFormat;
 import java.util.*;
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java
index 59bf6b66..890d8b51 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java
@@ -19,21 +19,20 @@
 package org.apache.ozhera.log.agent.extension;
 
 import com.google.common.collect.Lists;
-import org.apache.ozhera.tspandata.TSpanData;
-import org.apache.ozhera.log.agent.common.HashUtil;
-import org.apache.ozhera.log.agent.common.trace.TraceUtil;
-import org.apache.ozhera.log.agent.export.MsgExporter;
-import org.apache.ozhera.log.api.enums.LogTypeEnum;
-import org.apache.ozhera.log.api.model.msg.LineMessage;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.kafka.clients.producer.Producer;
 import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.clients.producer.RecordMetadata;
 import org.apache.kafka.common.PartitionInfo;
+import org.apache.ozhera.log.agent.common.trace.TraceUtil;
+import org.apache.ozhera.log.agent.export.MsgExporter;
+import org.apache.ozhera.log.agent.extension.nacos.AppPartitionConfigService;
+import org.apache.ozhera.log.api.enums.LogTypeEnum;
+import org.apache.ozhera.log.api.model.msg.LineMessage;
+import org.apache.ozhera.tspandata.TSpanData;
 
 import java.nio.charset.StandardCharsets;
 import java.util.List;
-import java.util.concurrent.ThreadLocalRandom;
 
 import static org.apache.ozhera.log.common.Constant.COMMON_MQ_PREFIX;
 
@@ -52,8 +51,16 @@ public class KafkaExporter implements MsgExporter {
 
     private Integer maxPartitionPer = 4;
 
-    public KafkaExporter(Producer mqProducer, String tag) {
+    private Producer topAppMqProducer;
+
+    private AppPartitionConfigService appPartitionConfigService;
+
+    public KafkaExporter(Producer mqProducer, String tag, KafkaService 
kafkaService, Boolean isInitTopApp) {
         this.producer = mqProducer;
+        appPartitionConfigService = AppPartitionConfigService.ins();
+        if (isInitTopApp) {
+            topAppMqProducer = 
kafkaService.initTopTalosProducer(appPartitionConfigService.getTopicInfo());
+        }
         this.tag = tag;
     }
 
@@ -105,10 +112,8 @@ public class KafkaExporter implements MsgExporter {
 
                     String appName = tSpanData.getExtra().getServiceName();
                     if (appName != null) {
-                        int key = 
ThreadLocalRandom.current().nextInt(maxPartitionPer);
-                        appName = String.format("p%s%s", key, appName);
-                        int hash = HashUtil.consistentHash(appName, 
partitions.size());
-                        int partition = partitions.get(hash).partition();
+                        int number = 
TopAppPartitioner.getMQNumberByAppName(appName, partitions.size(), 
maxPartitionPer);
+                        int partition = partitions.get(number).partition();
                         record = new ProducerRecord<>(topic, partition, tag, 
spanMessage);
                     }
                 }
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java
index bfb976d1..c39bb7a9 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java
@@ -27,9 +27,11 @@ import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.Producer;
 import org.apache.kafka.clients.producer.ProducerConfig;
 import org.apache.ozhera.log.agent.export.MsgExporter;
+import org.apache.ozhera.log.agent.extension.nacos.AppPartitionConfigService;
 import org.apache.ozhera.log.agent.input.Input;
 import org.apache.ozhera.log.agent.output.Output;
 import org.apache.ozhera.log.agent.service.OutPutService;
+import org.apache.ozhera.log.api.enums.LogTypeEnum;
 import org.apache.ozhera.log.api.model.meta.LogPattern;
 import org.apache.ozhera.log.api.model.meta.MQConfig;
 import org.apache.ozhera.log.utils.KafkaUtils;
@@ -92,7 +94,8 @@ public class KafkaService implements OutPutService {
             producerMap.put(key, mqProducer);
         }
 
-        KafkaExporter rmqExporter = new KafkaExporter(mqProducer, 
output.getTag());
+        KafkaExporter rmqExporter = new KafkaExporter(mqProducer, 
output.getTag(), this, input.getType().equals(
+                LogTypeEnum.OPENTELEMETRY.name()));
         rmqExporter.setTopic(kafkaOutput.getTopic());
         rmqExporter.setBatchSize(kafkaOutput.getBatchExportSize());
 
@@ -126,6 +129,32 @@ public class KafkaService implements OutPutService {
         return new KafkaProducer<>(properties);
     }
 
+    public Producer initTopTalosProducer(AppPartitionConfigService.TopicInfo 
topicInfo) {
+        if (null == topicInfo || null == topicInfo.getAk() || null == 
topicInfo.getSk()) {
+            return null;
+        }
+        Properties properties = new Properties();
+
+        String clusterInfo = topicInfo.getEndpoint();
+        String ak = topicInfo.getAk();
+        String sk = topicInfo.getSk();
+
+        if (StringUtils.isNotEmpty(ak) && StringUtils.isNotEmpty(sk) && 
Objects.equals("true", kafkaUseSsl)) {
+            properties.putAll(KafkaUtils.getSslKafkaProperties(clusterInfo, 
ak, sk, kafkaSllLocation));
+        } else if (StringUtils.isNotEmpty(ak) && StringUtils.isNotEmpty(sk)) {
+            
properties.putAll(KafkaUtils.getVpc9094KafkaProperties(clusterInfo, ak, sk));
+        } else {
+            
properties.putAll(KafkaUtils.getDefaultKafkaProperties(clusterInfo));
+        }
+
+        // set other properties
+        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, clusterInfo);
+        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, 
"org.apache.kafka.common.serialization.StringSerializer");
+        properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, 
"org.apache.kafka.common.serialization.StringSerializer");
+        properties.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "lz4");
+        return new KafkaProducer<>(properties);
+    }
+
     @Override
     public void removeMQ(Output output) {
         KafkaOutput kafkaOutput = (KafkaOutput) output;
@@ -152,4 +181,5 @@ public class KafkaService implements OutPutService {
         output.setProducerGroup(DEFAULT_CONSUMER_GROUP + (null == 
logPattern.getPatternCode() ? "" : logPattern.getPatternCode()));
         return output;
     }
+
 }
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java
index 52af8737..495be444 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.log.agent.extension;
 import com.google.common.collect.Lists;
 import com.google.gson.Gson;
 import org.apache.ozhera.tspandata.TSpanData;
-import org.apache.ozhera.log.agent.common.HashUtil;
 import org.apache.ozhera.log.agent.common.trace.TraceUtil;
 import org.apache.ozhera.log.agent.export.MsgExporter;
 import org.apache.ozhera.log.api.model.msg.LineMessage;
@@ -56,6 +55,8 @@ public class RmqExporter implements MsgExporter {
 
     private Integer batchSize;
 
+    private int messageQueueNumber = 2;
+
     private Gson gson = new Gson();
 
 
@@ -117,9 +118,7 @@ public class RmqExporter implements MsgExporter {
     }
 
     private MessageQueue calculateMessageQueue(String appName) {
-        Integer partitionNumber = 2;
-        appName = String.format("p%s%s", 
ThreadLocalRandom.current().nextInt(partitionNumber), appName);
-        return messageQueueList.get(HashUtil.consistentHash(appName, 
messageQueueList.size()));
+        return 
messageQueueList.get(TopAppPartitioner.getMQNumberByAppName(appName, 
messageQueueList.size(), messageQueueNumber));
     }
 
     private void sendMessagesToQueues(Map<MessageQueue, List<Message>> 
messageQueueListMap) {
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java
index eb9cbc68..5221376a 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java
@@ -42,7 +42,6 @@ import static 
org.apache.ozhera.log.common.Constant.DEFAULT_CONSUMER_GROUP;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/7 9:44 AM
  */
 @Service(name = "RocketMQService")
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/TopAppPartitioner.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/TopAppPartitioner.java
new file mode 100644
index 00000000..5a248ff5
--- /dev/null
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/TopAppPartitioner.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ozhera.log.agent.extension;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.ozhera.log.agent.common.HashUtil;
+import org.apache.ozhera.log.agent.extension.nacos.AppPartitionConfigService;
+
+import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
+
+/**
+ * @author wtt
+ * @version 1.0
+ * @description
+ * @date 2025/6/10 15:54
+ */
+public class TopAppPartitioner {
+
+    private static AppPartitionConfigService appPartitionConfigService = 
AppPartitionConfigService.ins();
+
+    public static int getMQNumberByAppName(String appName, int totalNum, int 
defaultNum) {
+        if (appPartitionConfigService.containsTopicApp(appName)) {
+            List<Integer> topPartitionNumberForApp = 
appPartitionConfigService.getTopPartitionNumberForApp(appName);
+            if (CollectionUtils.isNotEmpty(topPartitionNumberForApp) && 
topPartitionNumberForApp.size() == 2) {
+                return 
ThreadLocalRandom.current().nextInt(topPartitionNumberForApp.get(0), 
topPartitionNumberForApp.get(1) + 1);
+            }
+        }
+        Integer partitionNumber = 
appPartitionConfigService.getPartitionNumberForApp(appName);
+        if (null != partitionNumber) {
+            int key = ThreadLocalRandom.current().nextInt(partitionNumber);
+            appName = String.format("p%s%s", key, appName);
+        } else {
+            int key = ThreadLocalRandom.current().nextInt(defaultNum);
+            appName = String.format("p%s%s", key, appName);
+        }
+        return HashUtil.consistentHash(appName, totalNum);
+    }
+
+}
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/nacos/AppPartitionConfigService.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/nacos/AppPartitionConfigService.java
new file mode 100644
index 00000000..f2209404
--- /dev/null
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/nacos/AppPartitionConfigService.java
@@ -0,0 +1,168 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ozhera.log.agent.extension.nacos;
+
+import com.alibaba.nacos.api.exception.NacosException;
+import com.google.gson.reflect.TypeToken;
+import com.xiaomi.data.push.common.SafeRun;
+import lombok.Data;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.ozhera.log.agent.common.ExecutorUtil;
+import org.apache.ozhera.log.common.Config;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+import static org.apache.ozhera.log.common.Constant.GSON;
+
+
+/**
+ * @author wtt
+ * @version 1.0
+ * @description
+ * @date 2023/9/8 15:25
+ */
+@Slf4j
+public class AppPartitionConfigService {
+
+    private NacosConfigUtil nacosUtil;
+
+    private final AtomicReference<Map<String, Integer>> appPartitionMapRef = 
new AtomicReference<>(new ConcurrentHashMap<>());
+    private final AtomicReference<Map<String, List<Integer>>> 
topAppPartitionMapRef = new AtomicReference<>(new ConcurrentHashMap<>());
+
+    private static final String APP_PARTITION_KEY = "app_partition_key";
+    private static final String TOP_APP_PARTITION_KEY = 
"top_app_partition_key";
+
+    @Getter
+    private volatile TopicInfo topicInfo;
+
+    private static final class LazyHolder {
+        private static final AppPartitionConfigService INSTANCE = new 
AppPartitionConfigService();
+    }
+
+    public static AppPartitionConfigService ins() {
+        return LazyHolder.INSTANCE;
+    }
+
+    private AppPartitionConfigService() {
+        init();
+    }
+
+    private void init() {
+        if 
(!"true".equalsIgnoreCase(Config.ins().get("app_partition_key_switch", ""))) {
+            log.info("App partition config switch is off.");
+            return;
+        }
+
+        try {
+            nacosUtil = new NacosConfigUtil(Config.ins().get("nacosAddr", ""));
+            ExecutorUtil.scheduleAtFixedRate(this::syncConfigSafe, 0, 1, 
TimeUnit.MINUTES);
+        } catch (NacosException e) {
+            log.error("Failed to initialize NacosConfigUtil", e);
+        }
+    }
+
+    private void syncConfigSafe() {
+        SafeRun.run(this::syncConfig);
+    }
+
+    private void syncConfig() {
+        updateAppPartitionConfig();
+        updateTopAppPartitionConfig();
+    }
+
+    private void updateAppPartitionConfig() {
+        String dataId = Config.ins().get(APP_PARTITION_KEY, APP_PARTITION_KEY);
+        try {
+            String configJson = nacosUtil.getConfig(dataId);
+            if (StringUtils.isNotEmpty(configJson)) {
+                List<AppPartitionConfig> configList = 
GSON.fromJson(configJson, new TypeToken<List<AppPartitionConfig>>() {
+                }.getType());
+                Map<String, Integer> updatedMap = 
configList.stream().collect(Collectors.toMap(AppPartitionConfig::getAppName, 
AppPartitionConfig::getPartitionNum, (v1, v2) -> v2));
+                appPartitionMapRef.set(updatedMap);
+                log.info("Updated appPartitionMap: {}", 
GSON.toJson(updatedMap));
+            }
+        } catch (Exception e) {
+            log.error("Failed to update AppPartitionConfig from Nacos, dataId: 
{}", dataId, e);
+        }
+    }
+
+    private void updateTopAppPartitionConfig() {
+        String dataId = Config.ins().get(TOP_APP_PARTITION_KEY, 
TOP_APP_PARTITION_KEY);
+        try {
+            String configJson = nacosUtil.getConfig(dataId);
+            if (StringUtils.isNotEmpty(configJson)) {
+                TopAppPartitionConfig config = GSON.fromJson(configJson, 
TopAppPartitionConfig.class);
+                if (config != null) {
+                    topicInfo = config.getTopicInfo();
+                    Map<String, List<Integer>> updatedMap = 
config.getConfigs().stream().collect(Collectors.toMap(TopPerAppPartitionConfig::getAppName,
 TopPerAppPartitionConfig::getHashRange, (v1, v2) -> v2));
+                    topAppPartitionMapRef.set(updatedMap);
+                    log.info("Updated topAppPartitionMap: {}", 
GSON.toJson(updatedMap));
+                }
+            }
+        } catch (Exception e) {
+            log.error("Failed to update TopAppPartitionConfig from Nacos, 
dataId: {}", dataId, e);
+        }
+    }
+
+    public Integer getPartitionNumberForApp(String appName) {
+        return appPartitionMapRef.get().get(appName);
+    }
+
+    public List<Integer> getTopPartitionNumberForApp(String appName) {
+        return topAppPartitionMapRef.get().get(appName);
+    }
+
+    public boolean containsTopicApp(String appName) {
+        return topAppPartitionMapRef.get().containsKey(appName);
+    }
+
+    @Data
+    public static class AppPartitionConfig {
+        private String appName;
+        private Integer partitionNum;
+    }
+
+    @Data
+    public static class TopAppPartitionConfig {
+        private TopicInfo topicInfo;
+        private List<TopPerAppPartitionConfig> configs;
+    }
+
+    @Data
+    public static class TopicInfo {
+        private String topic;
+        private String ak;
+        private String sk;
+        // This field corresponds to the clusterInfo in OutPut, which 
represents the MQ connection information.
+        private String endpoint;
+    }
+
+    @Data
+    public static class TopPerAppPartitionConfig {
+        private String appName;
+        private List<Integer> hashRange;
+    }
+}
diff --git 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/nacos/NacosConfigUtil.java
similarity index 51%
copy from 
ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
copy to 
ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/nacos/NacosConfigUtil.java
index 65d5cc24..36220cf2 100644
--- 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/nacos/NacosConfigUtil.java
@@ -16,51 +16,29 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+package org.apache.ozhera.log.agent.extension.nacos;
 
-package org.apache.ozhera.webhook.domain;
+import com.alibaba.nacos.api.config.ConfigFactory;
+import com.alibaba.nacos.api.config.ConfigService;
+import com.alibaba.nacos.api.exception.NacosException;
+
+import static org.apache.ozhera.log.common.Constant.DEFAULT_GROUP_ID;
+import static org.apache.ozhera.log.common.Constant.DEFAULT_TIME_OUT_MS;
 
 /**
- * @Description
- * @Author dingtao
- * @Date 2023/4/12 4:35 PM
+ * @author wtt
+ * @version 1.0
+ * @description
+ * @date 2025/6/10 16:52
  */
-public class JsonPatch<T> {
-
-    private String op;
-
-    private String path;
-
-    private T value;
-
-    public JsonPatch(String op, String path, T value){
-        this.op = op;
-        this.path = path;
-        this.value = value;
-    }
-
-    public String getOp() {
-        return op;
-    }
+public class NacosConfigUtil {
+    private final ConfigService configService;
 
-    public void setOp(String op) {
-        this.op = op;
+    public NacosConfigUtil(String nacosAddr) throws NacosException {
+        this.configService = ConfigFactory.createConfigService(nacosAddr);
     }
 
-    public String getPath() {
-        return path;
+    public String getConfig(String dataId) throws NacosException {
+        return configService.getConfig(dataId, DEFAULT_GROUP_ID, 
DEFAULT_TIME_OUT_MS);
     }
-
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    public T getValue() {
-        return value;
-    }
-
-    public void setValue(T value) {
-        this.value = value;
-    }
-
-
 }
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java
index ea1c3aae..a40da968 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java
@@ -25,7 +25,6 @@ import com.xiaomi.youpin.docean.Ioc;
 
 /**
  * @Description OutPutServiceFactory Get the factory class of 
ChannelDefineLocatorExtension
- * @Author dingtao
  * @Date 2023/4/7 9:59 AM
  */
 public class OutPutServiceFactory {
diff --git 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java
 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java
index 542b92ef..39b1d028 100644
--- 
a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java
+++ 
b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java
@@ -28,7 +28,6 @@ import lombok.extern.slf4j.Slf4j;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/27 12:20 PM
  */
 @Service(name = "OuterChannelDefineLocatorExtensionImpl")
diff --git a/ozhera-log/log-agent/src/main/resources/config.properties 
b/ozhera-log/log-agent/src/main/resources/config.properties
index 45284224..a269eac6 100644
--- a/ozhera-log/log-agent/src/main/resources/config.properties
+++ b/ozhera-log/log-agent/src/main/resources/config.properties
@@ -35,4 +35,6 @@ env_name=${env_name}
 
 registration_initiation_flag=true
 
-filter_log_level_prefix_length = ${filter_log_level_prefix_length}
\ No newline at end of file
+filter_log_level_prefix_length = ${filter_log_level_prefix_length}
+
+app_partition_key_switch=true
\ No newline at end of file
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java
index 993d4131..f2267379 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java
@@ -24,7 +24,6 @@ import lombok.Data;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 3:40 PM
  */
 @Data
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java
index 9546bdde..ac0339f0 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java
@@ -23,7 +23,6 @@ import lombok.Data;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 3:20 PM
  */
 @Data
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java
index 6382fb75..b28eb3b3 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java
@@ -22,7 +22,6 @@ import lombok.Data;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 3:13 PM
  */
 @Data
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java
index 4207b825..62635bd1 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java
@@ -136,6 +136,14 @@ public class AlarmExprServiceOuter implements 
AlarmExprService {
     @NacosValue(value = "${rule.evaluation.duration:30}",autoRefreshed = true)
     private Integer evaluationDuration;
 
+    // trace downgrade strategy switch
+    @NacosValue(value = "${trace.remove.ip:false}", autoRefreshed = true)
+    private String isRemoveIp;
+
+    // trace downgrade mock IP
+    @NacosValue(value = "${trace.remove.mock.ip:10.0.0.0}", autoRefreshed = 
true)
+    private String traceMockIp;
+
     @Autowired
     private PrometheusService prometheusService;
 
@@ -927,6 +935,10 @@ public class AlarmExprServiceOuter implements 
AlarmExprService {
         for(Metric metric : metrics){
 
             allIps.add(metric.getPodIp());
+            if (isRemoveIp.equals("true") && !allIps.contains(traceMockIp)) {
+                log.info("trace Downgrade IP strategy begin allIps begin!");
+                allIps.add(traceMockIp);
+            }
 
             if(StringUtils.isBlank(metric.getServerEnv())){
                 continue;
@@ -937,17 +949,29 @@ public class AlarmExprServiceOuter implements 
AlarmExprService {
             stringObjectMap.putIfAbsent("envIps", new HashSet<>());
             HashSet ipList = (HashSet<String>)stringObjectMap.get("envIps");
             ipList.add(metric.getPodIp());
+            if (isRemoveIp.equals("true") && !ipList.contains(traceMockIp)) {
+                log.info("trace Downgrade IP strategy begin envMaps begin!");
+                ipList.add(traceMockIp);
+            }
 
             if(StringUtils.isNotBlank(metric.getServerZone())){
                 allZones.putIfAbsent(metric.getServerZone(),new 
HashSet<String>());
                 HashSet<String> zoneIps = allZones.get(metric.getServerZone());
                 zoneIps.add(metric.getPodIp());
+                if (isRemoveIp.equals("true") && 
!zoneIps.contains(traceMockIp)) {
+                    log.info("trace Downgrade IP strategy begin allZones 
begin!");
+                    zoneIps.add(traceMockIp);
+                }
 
                 stringObjectMap.putIfAbsent("zoneList", new HashMap<>());
                 HashMap serviceList = 
(HashMap<String,Set<String>>)stringObjectMap.get("zoneList");
 
                 serviceList.putIfAbsent(metric.getServerZone(), new 
HashSet<String>());
                 HashSet<String> ips = 
(HashSet<String>)serviceList.get(metric.getServerZone());
+                if (isRemoveIp.equals("true") && !ips.contains(traceMockIp)) {
+                    log.info("trace Downgrade IP strategy begin zoneList 
begin!");
+                    ips.add(traceMockIp);
+                }
 
                 ips.add(metric.getPodIp());
             }
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java
index fe071ef7..33717cc9 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java
@@ -20,7 +20,6 @@ package org.apache.ozhera.monitor.service.api;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 2:31 PM
  */
 public interface MetricsLabelKindService {
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java
index 5854a12a..e838081e 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java
@@ -36,7 +36,6 @@ import java.util.Map;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 12:16 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java
index 0c41e738..da0d4cd0 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java
@@ -28,7 +28,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/21 2:53 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java
index f749288b..b1424300 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java
@@ -25,7 +25,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/21 11:32 AM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java
index 32278402..eec32f22 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java
@@ -43,7 +43,6 @@ import java.util.Map;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 3:00 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java
index 24c3205a..0f7f87e0 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java
@@ -29,7 +29,6 @@ import java.util.List;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 6:44 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java
index f72cc7f0..abc4426e 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java
@@ -26,7 +26,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 2:34 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java
index 01bdcc9f..df541aef 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java
@@ -29,7 +29,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 2:44 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java
index 1f196c04..f2de8145 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java
@@ -27,7 +27,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 3:11 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java
index 65c3b5fd..0a317f95 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java
@@ -26,7 +26,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 5:07 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java
index 353806f0..fa5b1782 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java
@@ -33,7 +33,6 @@ import java.io.IOException;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/19 4:27 PM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java
index cff4ae16..c9e36954 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java
@@ -39,7 +39,6 @@ import java.util.Map;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/20 10:08 AM
  */
 @Service
diff --git 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java
 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java
index 710b4d4e..c1c3ac4c 100644
--- 
a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java
+++ 
b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java
@@ -26,7 +26,6 @@ import org.springframework.stereotype.Service;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/21 2:35 PM
  */
 @Service
diff --git 
a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java
 
b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java
index 88375f0b..3252ef99 100644
--- 
a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java
+++ 
b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java
@@ -27,7 +27,6 @@ import java.util.Map;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/2/22 12:25 PM
  */
 public class ESIndexConst {
diff --git 
a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties
 
b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties
index 43352f59..3f7d22fd 100644
--- 
a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties
+++ 
b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties
@@ -79,6 +79,9 @@ kafka.vpc.type=
 
 kafka.poll.records=500
 
+# Downgrading strategy
 query.exclude.sql=false
 query.exclude.server.ip=false
-query.exclude.dubbo.method=false
\ No newline at end of file
+query.exclude.dubbo.method=false
+query.exclude.application=
+query.exclude.sla=
diff --git 
a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties
 
b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties
index 85bf3ed0..bbe56681 100644
--- 
a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties
+++ 
b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties
@@ -119,3 +119,6 @@ grafana.password=xxx
 
hera.dash.url=http://${hera.homepage.url}/project-target-monitor/application/dash-board
 
cn.grafana.url=http://${hera.grafana.url}/d/tFjrMVeGz/zhong-guo-qu-staging-rong-qi-jian-kong
 
cn.grafana.disk_rate.url=http://${hera.grafana.url}/d/lMrNAQN4k/mione-k8s-gen-mu-lu-ci-pan-shi-yong-liang-da-pan
+
+trace.remove.ip=false
+trace.remove.mock.ip=10.0.0.0
\ No newline at end of file
diff --git 
a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java
 
b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java
index 097b8a2f..34661f69 100644
--- 
a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java
+++ 
b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java
@@ -30,7 +30,6 @@ import java.util.Map;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/2/22 11:29 AM
  */
 @Service
diff --git 
a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java
 
b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java
index f203922a..6f3d61a6 100644
--- 
a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java
+++ 
b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java
@@ -28,7 +28,6 @@ import java.io.File;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/2/23 6:02 PM
  */
 @Service
diff --git 
a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java
 
b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java
index 8d883892..6a68ddd0 100644
--- 
a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java
+++ 
b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java
@@ -34,7 +34,6 @@ import java.util.Set;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/2/25 11:35 AM
  */
 @Service
diff --git 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
 
b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
index 65d5cc24..799d9b1f 100644
--- 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
+++ 
b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.webhook.domain;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/12 4:35 PM
  */
 public class JsonPatch<T> {
diff --git 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java
 
b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java
index 7a26c0c1..16acf06c 100644
--- 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java
+++ 
b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java
@@ -27,10 +27,8 @@ import java.util.List;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/10 11:27 AM
  */
-
 public interface HeraWebhookService {
     
     @PostConstruct
diff --git 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java
 
b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java
index ef35ef82..ce60de36 100644
--- 
a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java
+++ 
b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java
@@ -56,7 +56,6 @@ import java.util.Set;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/4/10 11:27 AM
  */
 @Service
diff --git 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java
 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java
index 6d9dced7..c01b5c65 100644
--- 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java
+++ 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java
@@ -32,7 +32,6 @@ import java.util.Collections;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/10/27 3:59
  */
 @NonNullApi
diff --git 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java
 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java
index df6b8be7..562f6d40 100644
--- 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java
+++ 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java
@@ -50,7 +50,6 @@ import java.util.concurrent.atomic.AtomicLong;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/10/27 4:04
  */
 @NonNullApi
diff --git 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java
 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java
index ca8210fa..60a49f85 100644
--- 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java
+++ 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java
@@ -39,7 +39,6 @@ import java.util.function.ToLongFunction;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/10/27 4:15
  */
 @NonNullApi
diff --git 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java
 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java
index 224b7172..05543355 100644
--- 
a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java
+++ 
b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java
@@ -32,7 +32,6 @@ import java.util.Collections;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/10/27 10:49
  */
 @NonNullApi
diff --git 
a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java
 
b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java
index 8cc20fb6..82ffb291 100644
--- 
a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java
+++ 
b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.prometheus.starter.all.domain;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/3/5 3:35 PM
  */
 public class Const {
diff --git 
a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java
 
b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java
index 920db23a..d6cb2709 100644
--- 
a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java
+++ 
b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java
@@ -25,10 +25,8 @@ import org.apache.commons.lang3.StringUtils;
 
 import org.apache.ozhera.prometheus.starter.all.domain.Const;
 
-
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/3/5 3:33 PM
  */
 public class ServiceFactory {
diff --git 
a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java
 
b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java
index 0bb042d2..73dcee7d 100644
--- 
a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java
+++ 
b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java
@@ -23,7 +23,6 @@ import org.apache.commons.lang3.StringUtils;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2023/3/5 3:41 PM
  */
 public class MilinePrometheusService extends PrometheusService{
diff --git 
a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java
 
b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java
index b41a876d..b4db2777 100644
--- 
a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java
+++ 
b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java
@@ -26,7 +26,6 @@ import java.util.List;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/4/24 7:35 pm
  */
 public interface TraceManagerService {
diff --git 
a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java
 
b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java
index f5000d5d..dc3c9099 100644
--- 
a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java
+++ 
b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java
@@ -26,7 +26,6 @@ import java.nio.charset.StandardCharsets;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/11/6 4:42 pm
  */
 public class HashUtil {
diff --git 
a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java
 
b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java
index b60140e3..475601bd 100644
--- 
a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java
+++ 
b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java
@@ -33,7 +33,6 @@ import java.util.List;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/11/7 6:17 pm
  */
 public class TimeConverter {
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java
index 57b23bca..83732c2d 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.trace.etl.domain;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/10/18 4:28 下午
  */
 public class DriverDomain {
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java
index 3c8874bd..d688cc35 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.trace.etl.domain;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/4/19 10:16 上午
  */
 public class HeraTraceConfigVo extends PagerVo{
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java
index f729de63..67f4cc23 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java
@@ -25,7 +25,6 @@ import java.math.BigDecimal;
 
 /**
  * @Description
- * @Author dingtao
  */
 public class JaegerTracerDomain {
     private String serviceName;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java
index 0bf3e055..377b74f3 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java
@@ -19,11 +19,9 @@
 
 package org.apache.ozhera.trace.etl.domain;
 
-/**
- * @Description
- * @Author dingtao
- * @Date 2022/10/27 10:09 上午
- */
+import lombok.Data;
+
+@Data
 public class MetricsParseResult {
 
     private JaegerTracerDomain jaegerTracerDomain;
@@ -36,55 +34,18 @@ public class MetricsParseResult {
 
     private HeraTraceEtlConfig heraTraceEtlConfig;
 
+    private boolean excludeApplicationOpen;
+
     public MetricsParseResult(boolean ignore){
         this.ignore = ignore;
     }
 
-    public MetricsParseResult(JaegerTracerDomain jaegerTracerDomain, 
DriverDomain driverDomain, boolean ignore, boolean isValidate, 
HeraTraceEtlConfig heraTraceEtlConfig){
+    public MetricsParseResult(JaegerTracerDomain jaegerTracerDomain, 
DriverDomain driverDomain, boolean ignore, boolean isValidate, 
HeraTraceEtlConfig heraTraceEtlConfig, boolean excludeApplicationOpen){
         this.isValidate = isValidate;
         this.ignore = ignore;
         this.jaegerTracerDomain = jaegerTracerDomain;
         this.driverDomain = driverDomain;
         this.heraTraceEtlConfig = heraTraceEtlConfig;
-    }
-
-    public HeraTraceEtlConfig getHeraTraceEtlConfig() {
-        return heraTraceEtlConfig;
-    }
-
-    public void setHeraTraceEtlConfig(HeraTraceEtlConfig heraTraceEtlConfig) {
-        this.heraTraceEtlConfig = heraTraceEtlConfig;
-    }
-
-    public boolean isIgnore() {
-        return ignore;
-    }
-
-    public void setIgnore(boolean ignore) {
-        this.ignore = ignore;
-    }
-
-    public JaegerTracerDomain getJaegerTracerDomain() {
-        return jaegerTracerDomain;
-    }
-
-    public void setJaegerTracerDomain(JaegerTracerDomain jaegerTracerDomain) {
-        this.jaegerTracerDomain = jaegerTracerDomain;
-    }
-
-    public DriverDomain getDriverDomain() {
-        return driverDomain;
-    }
-
-    public void setDriverDomain(DriverDomain driverDomain) {
-        this.driverDomain = driverDomain;
-    }
-
-    public boolean isValidate() {
-        return isValidate;
-    }
-
-    public void setValidate(boolean validate) {
-        isValidate = validate;
+        this.excludeApplicationOpen = excludeApplicationOpen;
     }
 }
\ No newline at end of file
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java
index 5f077460..68725120 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.domain;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/2/10 4:46 下午
+ * @Date 2022/2/10 4:46 pm
  */
 public class NginxJaegerDomain {
     private String remoteAddr;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java
index 1f242481..e3b95d16 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.trace.etl.domain;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/4/19 10:13 上午
  */
 public class PagerVo {
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java
index 3e449493..64fbfeab 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java
@@ -31,9 +31,6 @@ import lombok.ToString;
 
 import java.util.Date;
 
-/**
- * @Author dingtao
- */
 @Data
 @TableName(value = "hera_meta_data", autoResultMap = true)
 @ToString
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java
index 2e98afb0..98dcb703 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java
@@ -24,9 +24,6 @@ import lombok.ToString;
 
 import java.util.Date;
 
-/**
- * @Author dingtao
- */
 @Data
 @ToString
 public class HeraMetaDataMessage {
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java
index 09711dfb..994c46d3 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java
@@ -28,9 +28,6 @@ import lombok.ToString;
 import java.io.Serializable;
 import java.util.Date;
 
-/**
- * @Author dingtao
- */
 @Data
 @ToString
 @AllArgsConstructor
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java
index b8c6f827..4d58d5fb 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java
@@ -23,9 +23,6 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-/**
- * @Author dingtao
- */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java
index fb9f6602..528dd7f3 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java
@@ -26,9 +26,6 @@ import lombok.ToString;
 
 import java.io.Serializable;
 
-/**
- * @Author dingtao
- */
 @Data
 @ToString
 @AllArgsConstructor
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java
index f9166ce3..9b0f47ed 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java
@@ -19,9 +19,6 @@
 
 package org.apache.ozhera.trace.etl.domain.metadata;
 
-/**
- * @Author dingtao
- */
 public class HeraMetaDataType {
     public static final String APP = "app";
     public static final String MYSQL = "mysql";
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java
index de69e28a..a7add9ef 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java
@@ -28,8 +28,7 @@ import java.util.List;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 4:08 下午
+ * @Date 2022/11/7 4:08 pm
  */
 public class Span {
     private String traceID;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java
index fe3c7cd9..e657cd84 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java
@@ -26,8 +26,7 @@ import java.util.Map;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 4:07 下午
+ * @Date 2022/11/7 4:07 pm
  */
 public class Trace {
     private String traceID;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java
index 11f1cdab..6352c387 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.domain.tracequery;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/8 3:04 下午
+ * @Date 2022/11/8 3:04 pm
  */
 public class TraceIdQueryVo {
     private Long startTime;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java
index 0d4ea36e..96278207 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.domain.tracequery;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 2:16 下午
+ * @Date 2022/11/7 2:16 pm
  */
 public class TraceListQueryVo {
     private String traceId;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java
index 82d25eab..7eae4540 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.domain.tracequery;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 3:47 下午
+ * @Date 2022/11/7 3:47 pm
  */
 public class TraceOperationsVo {
     private String service;
diff --git 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java
 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java
index 454a28dc..eb01c79b 100644
--- 
a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java
+++ 
b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.domain.tracequery;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 2:15 下午
+ * @Date 2022/11/7 2:15 pm
  */
 public class TraceQueryResult<T> {
     private T data;
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java
index fe44857e..92535a6c 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java
@@ -28,7 +28,6 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/4/28 10:32 am
  */
 @Configuration
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java
index 7c1de054..2ef68d73 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java
@@ -35,7 +35,6 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description trace config
- * @Author dingtao
  * @Date 2022/4/25 3:12 pm
  */
 @Configuration
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java
index 46b94977..1baad1d8 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java
@@ -41,7 +41,6 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/11/5 10:05 am
  */
 @Service
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java
index 147b2791..af0de08e 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java
@@ -39,7 +39,6 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/11/5 10:05 am
  */
 @Service
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java
index 29156981..4f4f5353 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java
@@ -21,7 +21,6 @@ package org.apache.ozhera.trace.etl.es.domain;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/5/23 2:58 pm
  */
 public class FilterResult {
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java
index 46fdcdb6..b7fababa 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java
@@ -24,7 +24,6 @@ import org.apache.ozhera.tspandata.TSpanData;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/5/23 10:16 am
  */
 public class FutureRequest {
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java
index cb783d3a..05b50c68 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java
@@ -23,7 +23,6 @@ import java.util.concurrent.atomic.AtomicLong;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2021/11/10 10:00 am
  */
 public class LocalStorages {
diff --git 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java
 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java
index 4db857da..14d1d85e 100644
--- 
a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java
+++ 
b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java
@@ -27,7 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/4/25 3:09 pm
  */
 @Service(cluster = "broadcast",group = "${dubbo.group}")
diff --git 
a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java
 
b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java
index 109b52e5..62b79e00 100644
--- 
a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java
+++ 
b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java
@@ -53,8 +53,7 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 11:40 上午
+ * @Date 2022/11/7 11:40 am
  */
 @Slf4j
 public class QueryDorisService {
diff --git 
a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java
 
b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java
index be6037c1..49fc637e 100644
--- 
a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java
+++ 
b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java
@@ -68,8 +68,7 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 11:40 上午
+ * @Date 2022/11/7 11:40 am
  */
 @Slf4j
 public class QueryEsService {
diff --git 
a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java
 
b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java
index 0b89335a..e82c49cd 100644
--- 
a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java
+++ 
b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java
@@ -33,8 +33,7 @@ import java.util.stream.Collectors;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/6 4:27 下午
+ * @Date 2022/11/6 4:27 pm
  */
 @Slf4j
 public class ClientMessageQueue {
diff --git 
a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java
 
b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java
index 38c29ecd..905ec978 100644
--- 
a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java
+++ 
b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java
@@ -32,8 +32,7 @@ import java.util.concurrent.Executors;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/6 5:24 下午
+ * @Date 2022/11/6 5:24 pm
  */
 @Slf4j
 public class ClientMessageQueueWrapper {
diff --git 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java
 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java
index 06c1bfac..3ebdfd2f 100644
--- 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java
+++ 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java
@@ -29,8 +29,7 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/5/30 8:06 下午
+ * @Date 2022/5/30 8:06 pm
  */
 @Configuration
 public class FilterConfiguration {
diff --git 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java
 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java
index 882e86d0..d3b40223 100644
--- 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java
+++ 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java
@@ -30,8 +30,7 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/28 10:32 上午
+ * @Date 2022/4/28 10:32 am
  */
 @Configuration
 public class ServiceConfiguration {
diff --git 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java
 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java
index 7b9a63d7..a51e4ebc 100644
--- 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java
+++ 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java
@@ -39,8 +39,7 @@ import javax.servlet.http.HttpServletRequest;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/19 10:20 上午
+ * @Date 2022/4/19 10:20 am
  */
 @RestController
 @Slf4j
diff --git 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java
 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java
index 67bd6527..e24d4f32 100644
--- 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java
+++ 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java
@@ -34,8 +34,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/11/7 11:37 上午
+ * @Date 2022/11/7 11:37 am
  */
 @RestController
 @RequestMapping("/tracing/v1")
diff --git 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java
 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java
index 80f02c84..def2b74d 100644
--- 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java
+++ 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java
@@ -31,8 +31,7 @@ import java.util.List;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/24 7:35 下午
+ * @Date 2022/4/24 7:35 pm
  */
 @Service(interfaceClass = TraceManagerService.class, group = "${dubbo.group}", 
version="1.0")
 public class TraceManagerServiceImpl implements TraceManagerService {
diff --git 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java
 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java
index e6ed1fce..9addec34 100644
--- 
a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java
+++ 
b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java
@@ -34,8 +34,7 @@ import java.util.Enumeration;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/6/6 10:15 上午
+ * @Date 2022/6/6 10:15 am
  */
 public class RequestHeaderFilter implements Filter {
 
diff --git 
a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java
 
b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java
index ac5c1397..872701c8 100644
--- 
a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java
+++ 
b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java
@@ -31,10 +31,6 @@ import org.apache.dubbo.config.annotation.Service;
 
 import java.util.List;
 
-
-/**
- * @Author dingtao
- */
 @Slf4j
 @Service(interfaceClass = HeraMetaDataService.class, group = "${dubbo.group}")
 public class HeraMetaDataServiceImpl implements HeraMetaDataService {
diff --git 
a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java
 
b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java
index c72ab2dd..0dacf1a2 100644
--- 
a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java
+++ 
b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java
@@ -49,9 +49,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
-/**
- * @Author dingtao
- */
 @Service
 @ConditionalOnProperty(name = "mq.type", havingValue = "kafka")
 @Slf4j
diff --git 
a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java
 
b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java
index 7479076d..0be1aa65 100644
--- 
a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java
+++ 
b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java
@@ -47,9 +47,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
-/**
- * @Author dingtao
- */
 @Service
 @ConditionalOnProperty(name = "mq.type", havingValue = "rocketMQ")
 @Slf4j
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 630aec88..897652fd 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
@@ -44,7 +44,6 @@ import java.util.Random;
 
 /**
  * @Description
- * @Author dingtao
  * @Date 2022/2/15 2:56 下午
  */
 @Slf4j
diff --git a/trace-etl/trace-etl-server/README.md 
b/trace-etl/trace-etl-server/README.md
index 98aec5e6..5729ea19 100644
--- a/trace-etl/trace-etl-server/README.md
+++ b/trace-etl/trace-etl-server/README.md
@@ -67,4 +67,22 @@ You can run trace-etl-server.
 --add-opens java.base/java.util=ALL-UNNAMED
 
 ## Suggestion
-We also recommend that you use zgc when starting. XX:+UseZGC
\ No newline at end of file
+We also recommend that you use zgc when starting. XX:+UseZGC
+
+## Degradation and Optimization
+
+### Optimization for Top Applications
+In practice, we have observed many top applications with the following 
characteristics:
+`High instance count`, `numerous upstream/downstream dependencies`, and 
`massive call volumes`.
+
+Top applications significantly impact metric computation by generating a large 
volume of metrics, imposing heavy pressure on both their own service monitoring 
and all services involved in metric computation and storage.
+
+Therefore, if top applications are identified, we recommend creating a 
dedicated `topic` for them, allowing specific applications to consume their 
respective `partitions` or `message queues`.
+In the configuration center, the app_partition_key_switch is used to configure 
top applications and their corresponding partitions or message queues.
+
+### Degradation
+The `trace-etl-server` provides comprehensive degradation measures, including:
+
+- `Server IP merging`: Replace IPs with 10.0.0.0. To enable this, set 
query.exclude.server.ip to true in the Nacos dataId `hera_trace_config`, and 
set trace.remove.ip to true in the Nacos dataId `mimonitor_open_config`.
+- `Dubbo method merging`: Replace all Dubbo methods with default. To enable 
this, set query.exclude.dubbo.method to true in the Nacos dataId 
`hera_trace_config`.
+- `SQL merging`: Replace all SQL statements with default select. To enable 
this, set query.exclude.sql to true in the Nacos dataId `hera_trace_config`.
\ No newline at end of file
diff --git a/trace-etl/trace-etl-server/README_CN.md 
b/trace-etl/trace-etl-server/README_CN.md
index 59b0b09a..365e9a85 100644
--- a/trace-etl/trace-etl-server/README_CN.md
+++ b/trace-etl/trace-etl-server/README_CN.md
@@ -58,4 +58,23 @@
 --add-opens java.base/java.util=ALL-UNNAMED
 
 ## 建议
-我们也建议启动的时候配置zgc: -XX:+UseZGC
\ No newline at end of file
+我们也建议启动的时候配置zgc: -XX:+UseZGC
+
+## 降级与优化
+
+### 头部应用的优化
+
+在实践过程中,我们发现有很多`头部应用`,他们都有以下特点:
+**实例数多**、**上下游依赖多**、**调用量大**。
+
+`头部应用`对于指标计算的影响是会产生大量的指标,会对自己服务的监控与所有参与指标计算、存储的服务都带来巨大的压力。
+
+所以如果出现`头部应用`,我们建议将他们单独创建一个topic,某些应用消费各自的partition或message queue。
+在配置中心中,会使用`app_partition_key_switch`去配置头部应用与他们所在的partition或message queue。
+
+### 降级
+trace-etl-server中提供了丰富的降级措施,包括:
+- 
合并serverIp,替换为10.0.0.0。这个操作需要将nacos中的dataId为`hera_trace_config`中的`query.exclude.server.ip`修改为true,
+并且将nacos中的dataId为`mimonitor_open_config`中的`trace.remove.ip`修改为true
+- 合并Dubbo method,将所有Dubbo 
method替换为default。这个操作需要将nacos中的dataId为`hera_trace_config`中的`query.exclude.dubbo.method`修改为true
+- 合并sql,将所有SQL替换为default 
select。这个操作需要将nacos中的dataId为`hera_trace_config`中的`query.exclude.sql`修改为true
\ No newline at end of file
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java
index 092b81b0..84c13118 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java
@@ -28,8 +28,7 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/28 10:32 上午
+ * @Date 2022/4/28 10:32 am
  */
 @Configuration
 public class ServiceConfiguration {
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java
index e034e5f7..c54f402a 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java
@@ -34,8 +34,7 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description trace config
- * @Author dingtao
- * @Date 2022/4/25 3:12 下午
+ * @Date 2022/4/25 3:12 pm
  */
 @Configuration
 @Slf4j
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java
index 5160416c..80e0b840 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.constant;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/2 10:03 上午
+ * @Date 2022/4/2 10:03 am
  */
 public class MetricsName {
     /**
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java
index 4a47435a..a908aa52 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.constant;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/2/7 10:03 上午
+ * @Date 2022/2/7 10:03 am
  */
 public class SpanKind {
 
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java
index b785f5af..9cb7f3e7 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.constant;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/2 9:41 上午
+ * @Date 2022/4/2 9:41 am
  */
 public class SpanType {
     public static final String HTTP = "aop";
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java
index 4bde272e..9b1a70cc 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java
@@ -92,6 +92,13 @@ public class MetricsParseService implements 
IMetricsParseService {
     private boolean excludeDubboMethod;
     private static final String DEFAULT_DUBBO_METHOD = "default";
 
+    /**
+     * Metric merging, whether enabled per application. If empty (null),
+     * it applies to all applications by default; multiple applications should 
be separated by the pipe delimiter (|).
+     */
+    @NacosValue(value = "${query.exclude.application}", autoRefreshed = true)
+    private String excludeApplication;
+
     @Value("${es.domain}")
     private String esDomain;
 
@@ -130,7 +137,7 @@ public class MetricsParseService implements 
IMetricsParseService {
                 return;
             }
             if (metricsParseResult.isValidate()) {
-                computeMetrics(metricsParseResult.getJaegerTracerDomain(), 
metricsParseResult.getHeraTraceEtlConfig());
+                computeMetrics(metricsParseResult.getJaegerTracerDomain(), 
metricsParseResult.getHeraTraceEtlConfig(), 
metricsParseResult.isExcludeApplicationOpen());
             }
             if (metricsParseResult.getDriverDomain() != null) {
                 esService.insertDriver(metricsParseResult.getDriverDomain());
@@ -157,6 +164,12 @@ public class MetricsParseService implements 
IMetricsParseService {
         if (StringUtils.isEmpty(operationName) || exclude(config == null ? 
excludeMethod : config.getExcludeMethod(), operationName)) {
             return new MetricsParseResult(true);
         }
+        // Determine whether the applications that need to be downgraded are 
included
+        boolean excludeApplicationOpen = true;
+        if(StringUtils.isNotEmpty(excludeApplication)){
+            excludeApplicationOpen =  excludeApplication.contains(serviceName);
+        }
+
         DriverDomain driverDomain = null;
         if (operationName.equals(DB_DRIVER)) {
             driverDomain = new DriverDomain();
@@ -179,7 +192,7 @@ public class MetricsParseService implements 
IMetricsParseService {
         }
         jtd.setEndTime(jtd.getStartTime() + durationUs / 1000);
         jtd.setMethod(operationName);
-        if(excludeServerIp){
+        if(excludeServerIp && excludeApplicationOpen){
             jtd.setServerIp(DEFAULT_SERVER_IP);
         }else{
             jtd.setServerIp(tSpanData.getExtra().getIp());
@@ -215,7 +228,7 @@ public class MetricsParseService implements 
IMetricsParseService {
                     jtd.setType(value);
                 }
                 if ("rpc.method".equals(key)) {
-                    if(excludeDubboMethod){
+                    if(excludeDubboMethod && excludeApplicationOpen){
                         jtd.setMethod(DEFAULT_DUBBO_METHOD);
                     }else {
                         jtd.setMethod(value);
@@ -312,10 +325,10 @@ public class MetricsParseService implements 
IMetricsParseService {
         if (StringUtils.isEmpty(jtd.getServiceEnv())) {
             jtd.setServiceEnv("default_env");
         }
-        return new MetricsParseResult(jtd, driverDomain, false, isValidate, 
config);
+        return new MetricsParseResult(jtd, driverDomain, false, isValidate, 
config, excludeApplicationOpen);
     }
 
-    private void computeMetrics(JaegerTracerDomain jtc, HeraTraceEtlConfig 
config) {
+    private void computeMetrics(JaegerTracerDomain jtc, HeraTraceEtlConfig 
config, boolean excludeApplicationOpen) {
         if (StringUtils.isEmpty(jtc.getType())) {
             return;
         }
@@ -324,7 +337,7 @@ public class MetricsParseService implements 
IMetricsParseService {
             redisBuild(jtc.getStatement(), jtc);
         }
         if (SpanType.MYSQL.equals(jtc.getType()) || 
SpanType.MONGODB.equals(jtc.getType())) {
-            if(excludeSql) {
+            if(excludeSql && excludeApplicationOpen) {
                 jtc.setSql(DEFAULT_SQL_LABEL);
             }else{
                 jtc.setSql(jtc.getStatement());
diff --git 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java
 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java
index a3b1da08..f78ef88e 100644
--- 
a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java
+++ 
b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java
@@ -27,8 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/25 3:09 下午
+ * @Date 2022/4/25 3:09 pm
  */
 @Service(cluster = "broadcast",group = "${dubbo.group}")
 public class TraceEtlServiceImpl implements TraceEtlService {
diff --git 
a/trace-etl/trace-etl-server/src/test/java/org/apache/ozhera/trace/etl/test/TestConsumer.java
 
b/trace-etl/trace-etl-server/src/test/java/org/apache/ozhera/trace/etl/test/TestConsumer.java
index a6c2dcf2..c410186a 100644
--- 
a/trace-etl/trace-etl-server/src/test/java/org/apache/ozhera/trace/etl/test/TestConsumer.java
+++ 
b/trace-etl/trace-etl-server/src/test/java/org/apache/ozhera/trace/etl/test/TestConsumer.java
@@ -21,8 +21,7 @@ package org.apache.ozhera.trace.etl.test;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/10/24 3:35 下午
+ * @Date 2022/10/24 3:35 pm
  */
 public class TestConsumer {
 }
\ No newline at end of file
diff --git 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java
 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java
index 7b85f01b..1c8230e5 100644
--- 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java
+++ 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java
@@ -23,8 +23,7 @@ import java.util.Set;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/7/6 7:49 下午
+ * @Date 2022/7/6 7:49 pm
  */
 public interface HeraContextService {
 
diff --git 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java
 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java
index 4746c242..be3e270c 100644
--- 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java
+++ 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java
@@ -28,8 +28,7 @@ import java.util.List;
 
 /**
  * @Description Initialize through the bootstrap project BeanConfig to avoid 
unwanted project startup errors
- * @Author dingtao
- * @Date 2022/4/18 3:31 下午
+ * @Date 2022/4/18 3:31 pm
  */
 public interface ManagerService {
     
diff --git 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java
 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java
index 4a8253ca..63947cee 100644
--- 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java
+++ 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java
@@ -27,8 +27,7 @@ import java.util.Set;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/7/6 7:49 下午
+ * @Date 2022/7/6 7:49 pm
  */
 @Service
 public class HeraContextServiceImpl implements HeraContextService {
diff --git 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java
 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java
index dfe29adc..cb75cff9 100644
--- 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java
+++ 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java
@@ -41,8 +41,7 @@ import java.util.List;
 
 /**
  * @Description Initialize through the bootstrap project BeanConfig to avoid 
unwanted project startup errors
- * @Author dingtao
- * @Date 2022/4/18 3:31 下午
+ * @Date 2022/4/18 3:31 pm
  */
 @Slf4j
 public class ManagerServiceImpl implements ManagerService {
diff --git 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java
 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java
index e40c8ceb..a5c2127b 100644
--- 
a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java
+++ 
b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java
@@ -30,8 +30,7 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * @Description
- * @Author dingtao
- * @Date 2022/4/28 3:40 下午
+ * @Date 2022/4/28 3:40 pm
  */
 @Component
 @Slf4j


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to