This is an automated email from the ASF dual-hosted git repository.
gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new 388d616d0 [improve] refactor code (#1901)
388d616d0 is described below
commit 388d616d06b7eb3cef02a3e98ef7c75f4434a68e
Author: Ceilzcx <[email protected]>
AuthorDate: Sat May 4 10:49:05 2024 +0800
[improve] refactor code (#1901)
---
.../hertzbeat/common/entity/dto/CollectorInfo.java | 3 -
.../apache/hertzbeat/common/entity/job/Job.java | 10 +-
.../manager/scheduler/CollectorJobScheduler.java | 170 ++++++++++-----------
.../org/apache/hertzbeat/manager/ManagerTest.java | 16 +-
.../{config => }/WarehouseAutoConfiguration.java | 2 +-
.../warehouse/config/entrance/KafkaProperties.java | 33 ----
.../controller/MetricsDataController.java | 16 +-
.../warehouse/service/WarehouseServiceImpl.java | 8 +-
.../warehouse/store/DataStorageDispatch.java | 50 +++---
.../{ => history}/AbstractHistoryDataStorage.java | 4 +-
.../greptime/GrepTimeDbDataStorage.java} | 13 +-
.../history}/greptime/GreptimeProperties.java | 2 +-
.../influxdb/InfluxdbDataStorage.java} | 13 +-
.../history}/influxdb/InfluxdbProperties.java | 2 +-
.../iotdb/IotDbDataStorage.java} | 14 +-
.../history}/iotdb/IotDbProperties.java | 2 +-
.../history}/iotdb/IotDbVersion.java | 2 +-
.../jpa/JpaDatabaseDataStorage.java} | 15 +-
.../store => store/history}/jpa/JpaProperties.java | 2 +-
.../tdengine/TdEngineDataStorage.java} | 8 +-
.../history}/tdengine/TdEngineProperties.java | 2 +-
.../vm/VictoriaMetricsClusterDataStorage.java} | 12 +-
.../vm}/VictoriaMetricsClusterProperties.java | 2 +-
.../vm/VictoriaMetricsDataStorage.java} | 11 +-
.../vm}/VictoriaMetricsInsertProperties.java | 2 +-
.../history}/vm/VictoriaMetricsProperties.java | 2 +-
.../vm}/VictoriaMetricsSelectProperties.java | 2 +-
.../AbstractRealTimeDataStorage.java | 4 +-
.../memory/MemoryDataStorage.java} | 11 +-
.../realtime}/memory/MemoryProperties.java | 2 +-
.../redis}/MetricsDataRedisCodec.java | 2 +-
.../redis/RedisDataStorage.java} | 11 +-
.../realtime}/redis/RedisProperties.java | 2 +-
.../src/main/resources/META-INF/spring.factories | 2 +-
.../controller/MetricsDataControllerTest.java | 4 +-
...StorageTest.java => MemoryDataStorageTest.java} | 5 +-
.../warehouse/store/MetricsDataRedisCodecTest.java | 1 +
...aStorageTest.java => RedisDataStorageTest.java} | 5 +-
...orageTest.java => TdEngineDataStorageTest.java} | 5 +-
39 files changed, 220 insertions(+), 252 deletions(-)
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/dto/CollectorInfo.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/dto/CollectorInfo.java
index b92893c26..47abb6ae8 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/dto/CollectorInfo.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/dto/CollectorInfo.java
@@ -44,7 +44,4 @@ public class CollectorInfo {
@NotNull
private String mode = CommonConstants.MODE_PUBLIC;
-
- // todo more
-
}
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/job/Job.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/job/Job.java
index 2becfa052..10299a5d6 100644
--- a/common/src/main/java/org/apache/hertzbeat/common/entity/job/Job.java
+++ b/common/src/main/java/org/apache/hertzbeat/common/entity/job/Job.java
@@ -65,7 +65,7 @@ public class Job {
*/
private boolean hide = true;
/**
- * Large categories of monitoring
+ * Large categories of monitoring
* service-application service monitoring db-database
* monitoring custom-custom monitoring os-operating system monitoring...
*/
@@ -126,7 +126,7 @@ public class Job {
*/
@JsonIgnore
private transient long dispatchTime;
-
+
/**
* collector usage - metric group task execution priority view
* 0 - availability
@@ -183,8 +183,8 @@ public class Job {
* collector use - to get the next set of priority metric group tasks
*
* @param metrics Current Metrics
- * @param first Is it the first time to get
- * @return Metrics Tasks
+ * @param first Is it the first time to get
+ * @return Metrics Tasks
* Returning null means: the job has been completed, and the collection of
all metrics has ended
* Returning the empty set metrics that there are still metrics collection
tasks at the current
* level that have not been completed,and the next level metrics task
collection cannot be performed.
@@ -238,7 +238,7 @@ public class Job {
if (this.envConfigmaps == null) {
this.envConfigmaps = envConfigmaps;
} else {
- this.envConfigmaps.putAll(envConfigmaps);
+ this.envConfigmaps.putAll(envConfigmaps);
}
}
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/scheduler/CollectorJobScheduler.java
b/manager/src/main/java/org/apache/hertzbeat/manager/scheduler/CollectorJobScheduler.java
index c2c63dee0..dfb4fc4b0 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/scheduler/CollectorJobScheduler.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/scheduler/CollectorJobScheduler.java
@@ -92,6 +92,10 @@ public class CollectorJobScheduler implements
CollectorScheduling, CollectJobSch
@Override
public void collectorGoOnline(String identity, CollectorInfo
collectorInfo) {
+ if (identity == null) {
+ log.error("identity can not be null if collector not existed");
+ return;
+ }
Optional<Collector> collectorOptional =
collectorDao.findCollectorByName(identity);
Collector collector;
if (collectorOptional.isPresent()) {
@@ -109,9 +113,12 @@ public class CollectorJobScheduler implements
CollectorScheduling, CollectJobSch
log.error("collectorInfo can not null when collector not
existed");
return;
}
- collector =
Collector.builder().name(identity).ip(collectorInfo.getIp())
+ collector = Collector.builder()
+ .name(identity)
+ .ip(collectorInfo.getIp())
.mode(collectorInfo.getMode())
- .status(CommonConstants.COLLECTOR_STATUS_ONLINE).build();
+ .status(CommonConstants.COLLECTOR_STATUS_ONLINE)
+ .build();
}
collectorDao.save(collector);
ConsistentHash.Node node = new ConsistentHash.Node(identity,
collector.getMode(),
@@ -122,42 +129,42 @@ public class CollectorJobScheduler implements
CollectorScheduling, CollectJobSch
List<CollectorMonitorBind> binds =
collectorMonitorBindDao.findCollectorMonitorBindsByCollector(identity);
for (CollectorMonitorBind bind : binds) {
Optional<Monitor> monitorOptional =
monitorDao.findById(bind.getMonitorId());
- if (monitorOptional.isPresent()) {
- Monitor monitor = monitorOptional.get();
- if (monitor.getStatus() == CommonConstants.UN_MANAGE_CODE) {
- continue;
+ if (monitorOptional.isEmpty()) {
+ continue;
+ }
+ Monitor monitor = monitorOptional.get();
+ if (monitor.getStatus() == CommonConstants.UN_MANAGE_CODE) {
+ continue;
+ }
+ try {
+ // build collect job entity
+ Job appDefine = appService.getAppDefine(monitor.getApp());
+ if (CommonConstants.PROMETHEUS.equals(monitor.getApp())) {
+ appDefine.setApp(CommonConstants.PROMETHEUS_APP_PREFIX +
monitor.getName());
}
- try {
- // build collect job entity
- Job appDefine = appService.getAppDefine(monitor.getApp());
- if (CommonConstants.PROMETHEUS.equals(monitor.getApp())) {
- appDefine.setApp(CommonConstants.PROMETHEUS_APP_PREFIX
+ monitor.getName());
+ appDefine.setMonitorId(monitor.getId());
+ appDefine.setInterval(monitor.getIntervals());
+ appDefine.setCyclic(true);
+ appDefine.setTimestamp(System.currentTimeMillis());
+ List<Param> params =
paramDao.findParamsByMonitorId(monitor.getId());
+ List<Configmap> configmaps = params.stream()
+ .map(param -> new Configmap(param.getField(),
param.getParamValue(),
+ param.getType())).collect(Collectors.toList());
+ List<ParamDefine> paramDefaultValue =
appDefine.getParams().stream()
+ .filter(item ->
StringUtils.hasText(item.getDefaultValue()))
+ .toList();
+ paramDefaultValue.forEach(defaultVar -> {
+ if (configmaps.stream().noneMatch(item ->
item.getKey().equals(defaultVar.getField()))) {
+ Configmap configmap = new
Configmap(defaultVar.getField(), defaultVar.getDefaultValue(), (byte) 1);
+ configmaps.add(configmap);
}
- appDefine.setMonitorId(monitor.getId());
- appDefine.setInterval(monitor.getIntervals());
- appDefine.setCyclic(true);
- appDefine.setTimestamp(System.currentTimeMillis());
- List<Param> params =
paramDao.findParamsByMonitorId(monitor.getId());
- List<Configmap> configmaps = params.stream()
- .map(param -> new Configmap(param.getField(),
param.getParamValue(),
-
param.getType())).collect(Collectors.toList());
- List<ParamDefine> paramDefaultValue =
appDefine.getParams().stream()
- .filter(item ->
StringUtils.hasText(item.getDefaultValue()))
- .collect(Collectors.toList());
- paramDefaultValue.forEach(defaultVar -> {
- if (configmaps.stream().noneMatch(item ->
item.getKey().equals(defaultVar.getField()))) {
- // todo type
- Configmap configmap = new
Configmap(defaultVar.getField(), defaultVar.getDefaultValue(), (byte) 1);
- configmaps.add(configmap);
- }
- });
- appDefine.setConfigmap(configmaps);
- long jobId = addAsyncCollectJob(appDefine, identity);
- monitor.setJobId(jobId);
- monitorDao.save(monitor);
- } catch (Exception e) {
- log.error("insert pinned monitor job: {} in collector: {}
error,continue next monitor", monitor, identity, e);
- }
+ });
+ appDefine.setConfigmap(configmaps);
+ long jobId = addAsyncCollectJob(appDefine, identity);
+ monitor.setJobId(jobId);
+ monitorDao.save(monitor);
+ } catch (Exception e) {
+ log.error("insert pinned monitor job: {} in collector: {}
error,continue next monitor", monitor, identity, e);
}
}
}
@@ -165,14 +172,16 @@ public class CollectorJobScheduler implements
CollectorScheduling, CollectJobSch
@Override
public void collectorGoOffline(String identity) {
Optional<Collector> collectorOptional =
collectorDao.findCollectorByName(identity);
- if (collectorOptional.isPresent()) {
- log.info("the collector: {} is going offline now.", identity);
- Collector collector = collectorOptional.get();
- collector.setStatus(CommonConstants.COLLECTOR_STATUS_OFFLINE);
- collectorDao.save(collector);
- consistentHash.removeNode(identity);
- reBalanceCollectorAssignJobs();
+ if (collectorOptional.isEmpty()) {
+ log.info("the collector : {} not found.", identity);
+ return;
}
+ Collector collector = collectorOptional.get();
+ collector.setStatus(CommonConstants.COLLECTOR_STATUS_OFFLINE);
+ collectorDao.save(collector);
+ consistentHash.removeNode(identity);
+ reBalanceCollectorAssignJobs();
+ log.info("the collector: {} go offline success.", identity);
}
@Override
@@ -180,56 +189,44 @@ public class CollectorJobScheduler implements
CollectorScheduling, CollectJobSch
consistentHash.getAllNodes().entrySet().parallelStream().forEach(entry
-> {
String collectorName = entry.getKey();
AssignJobs assignJobs = entry.getValue().getAssignJobs();
- if (assignJobs != null) {
- if (CommonConstants.MAIN_COLLECTOR_NODE.equals(collectorName))
{
- if (!assignJobs.getAddingJobs().isEmpty()) {
- Set<Long> addedJobIds = new HashSet<>(8);
- for (Long addingJobId : assignJobs.getAddingJobs()) {
- Job job = jobContentCache.get(addingJobId);
- if (job == null) {
- log.error("assigning job {} content is null.",
addingJobId);
- continue;
- }
- addedJobIds.add(addingJobId);
- collectJobService.addAsyncCollectJob(job);
- }
- assignJobs.addAssignJobs(addedJobIds);
- assignJobs.removeAddingJobs(addedJobIds);
- }
- if (!assignJobs.getRemovingJobs().isEmpty()) {
- assignJobs.getRemovingJobs().forEach(jobId ->
collectJobService.cancelAsyncCollectJob(jobId));
- assignJobs.clearRemovingJobs();
- }
- } else {
- if (!assignJobs.getAddingJobs().isEmpty()) {
- Set<Long> addedJobIds = new HashSet<>(8);
- for (Long addingJobId : assignJobs.getAddingJobs()) {
- Job job = jobContentCache.get(addingJobId);
- if (job == null) {
- log.error("assigning job {} content is null.",
addingJobId);
- continue;
- }
- addedJobIds.add(addingJobId);
- ClusterMsg.Message message =
ClusterMsg.Message.newBuilder()
- .setDirection(ClusterMsg.Direction.REQUEST)
-
.setType(ClusterMsg.MessageType.ISSUE_CYCLIC_TASK)
- .setMsg(JsonUtil.toJson(job))
- .build();
- this.manageServer.sendMsg(collectorName, message);
- }
- assignJobs.addAssignJobs(addedJobIds);
- assignJobs.removeAddingJobs(addedJobIds);
+ if (collectorName == null || assignJobs == null) {
+ return;
+ }
+ if (assignJobs.getAddingJobs() != null &&
!assignJobs.getAddingJobs().isEmpty()) {
+ Set<Long> addedJobIds = new HashSet<>(8);
+ for (Long addingJobId : assignJobs.getAddingJobs()) {
+ Job job = jobContentCache.get(addingJobId);
+ if (job == null) {
+ log.error("assigning job {} content is null.",
addingJobId);
+ continue;
}
- if (!assignJobs.getRemovingJobs().isEmpty()) {
+ addedJobIds.add(addingJobId);
+ if
(CommonConstants.MAIN_COLLECTOR_NODE.equals(collectorName)) {
+ collectJobService.addAsyncCollectJob(job);
+ } else {
ClusterMsg.Message message =
ClusterMsg.Message.newBuilder()
.setDirection(ClusterMsg.Direction.REQUEST)
-
.setType(ClusterMsg.MessageType.DELETE_CYCLIC_TASK)
-
.setMsg(JsonUtil.toJson(assignJobs.getRemovingJobs()))
+
.setType(ClusterMsg.MessageType.ISSUE_CYCLIC_TASK)
+ .setMsg(JsonUtil.toJson(job))
.build();
this.manageServer.sendMsg(collectorName, message);
- assignJobs.clearRemovingJobs();
}
}
+ assignJobs.addAssignJobs(addedJobIds);
+ assignJobs.removeAddingJobs(addedJobIds);
+ }
+ if (assignJobs.getRemovingJobs() != null &&
!assignJobs.getRemovingJobs().isEmpty()) {
+ if (CommonConstants.MAIN_COLLECTOR_NODE.equals(collectorName))
{
+ assignJobs.getRemovingJobs().forEach(jobId ->
collectJobService.cancelAsyncCollectJob(jobId));
+ } else {
+ ClusterMsg.Message message =
ClusterMsg.Message.newBuilder()
+ .setDirection(ClusterMsg.Direction.REQUEST)
+ .setType(ClusterMsg.MessageType.DELETE_CYCLIC_TASK)
+
.setMsg(JsonUtil.toJson(assignJobs.getRemovingJobs()))
+ .build();
+ this.manageServer.sendMsg(collectorName, message);
+ }
+ assignJobs.clearRemovingJobs();
}
});
}
@@ -461,5 +458,4 @@ public class CollectorJobScheduler implements
CollectorScheduling, CollectJobSch
public void setManageServer(ManageServer manageServer) {
this.manageServer = manageServer;
}
-
}
diff --git
a/manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java
b/manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java
index 79d8f5285..b962b2583 100644
--- a/manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java
+++ b/manager/src/test/java/org/apache/hertzbeat/manager/ManagerTest.java
@@ -46,10 +46,10 @@ import org.apache.hertzbeat.common.service.TencentSmsClient;
import org.apache.hertzbeat.common.support.SpringContextHolder;
import org.apache.hertzbeat.warehouse.WarehouseWorkerPool;
import org.apache.hertzbeat.warehouse.controller.MetricsDataController;
-import org.apache.hertzbeat.warehouse.store.HistoryIotDbDataStorage;
-import org.apache.hertzbeat.warehouse.store.HistoryTdEngineDataStorage;
-import org.apache.hertzbeat.warehouse.store.RealTimeMemoryDataStorage;
-import org.apache.hertzbeat.warehouse.store.RealTimeRedisDataStorage;
+import org.apache.hertzbeat.warehouse.store.history.iotdb.IotDbDataStorage;
+import
org.apache.hertzbeat.warehouse.store.history.tdengine.TdEngineDataStorage;
+import org.apache.hertzbeat.warehouse.store.realtime.memory.MemoryDataStorage;
+import org.apache.hertzbeat.warehouse.store.realtime.redis.RedisDataStorage;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
@@ -99,10 +99,10 @@ class ManagerTest extends AbstractSpringIntegrationTest {
assertNotNull(ctx.getBean(WarehouseWorkerPool.class));
// default DataStorage is RealTimeMemoryDataStorage
- assertNotNull(ctx.getBean(RealTimeMemoryDataStorage.class));
- assertThrows(NoSuchBeanDefinitionException.class, () ->
ctx.getBean(RealTimeRedisDataStorage.class));
- assertThrows(NoSuchBeanDefinitionException.class, () ->
ctx.getBean(HistoryTdEngineDataStorage.class));
- assertThrows(NoSuchBeanDefinitionException.class, () ->
ctx.getBean(HistoryIotDbDataStorage.class));
+ assertNotNull(ctx.getBean(MemoryDataStorage.class));
+ assertThrows(NoSuchBeanDefinitionException.class, () ->
ctx.getBean(RedisDataStorage.class));
+ assertThrows(NoSuchBeanDefinitionException.class, () ->
ctx.getBean(TdEngineDataStorage.class));
+ assertThrows(NoSuchBeanDefinitionException.class, () ->
ctx.getBean(IotDbDataStorage.class));
assertNotNull(ctx.getBean(MetricsDataController.class));
}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseAutoConfiguration.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseAutoConfiguration.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseAutoConfiguration.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseAutoConfiguration.java
index 23e3feb22..498e487e1 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseAutoConfiguration.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseAutoConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config;
+package org.apache.hertzbeat.warehouse;
import org.springframework.context.annotation.ComponentScan;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/entrance/KafkaProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/entrance/KafkaProperties.java
deleted file mode 100644
index a15807054..000000000
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/entrance/KafkaProperties.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.hertzbeat.warehouse.config.entrance;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
-import org.springframework.boot.context.properties.bind.DefaultValue;
-
-/**
- * kafka configuration information
- */
-@ConfigurationProperties(prefix = "warehouse.entrance.kafka")
-@ConfigurationPropertiesScan("org.apache.hertzbeat.warehouse.config")
-public record KafkaProperties(@DefaultValue("true") boolean enabled,
- @DefaultValue("127.0.0.1:9092") String servers,
- String topic,
- String groupId) {
-}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
index 71647b794..cdab3eb3d 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
@@ -35,10 +35,10 @@ import
org.apache.hertzbeat.common.entity.dto.MetricsHistoryData;
import org.apache.hertzbeat.common.entity.dto.Value;
import org.apache.hertzbeat.common.entity.dto.ValueRow;
import org.apache.hertzbeat.common.entity.message.CollectRep;
-import org.apache.hertzbeat.warehouse.store.AbstractHistoryDataStorage;
-import org.apache.hertzbeat.warehouse.store.AbstractRealTimeDataStorage;
-import org.apache.hertzbeat.warehouse.store.HistoryJpaDatabaseDataStorage;
-import org.apache.hertzbeat.warehouse.store.RealTimeMemoryDataStorage;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
+import org.apache.hertzbeat.warehouse.store.history.jpa.JpaDatabaseDataStorage;
+import
org.apache.hertzbeat.warehouse.store.realtime.AbstractRealTimeDataStorage;
+import org.apache.hertzbeat.warehouse.store.realtime.memory.MemoryDataStorage;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -90,9 +90,9 @@ public class MetricsDataController {
AbstractRealTimeDataStorage realTimeDataStorage =
realTimeDataStorages.stream()
.filter(AbstractRealTimeDataStorage::isServerAvailable)
.max((o1, o2) -> {
- if (o1 instanceof RealTimeMemoryDataStorage) {
+ if (o1 instanceof MemoryDataStorage) {
return -1;
- } else if (o2 instanceof RealTimeMemoryDataStorage) {
+ } else if (o2 instanceof MemoryDataStorage) {
return 1;
} else {
return 0;
@@ -156,9 +156,9 @@ public class MetricsDataController {
) {
AbstractHistoryDataStorage historyDataStorage =
historyDataStorages.stream()
.filter(AbstractHistoryDataStorage::isServerAvailable).max((o1, o2) -> {
- if (o1 instanceof HistoryJpaDatabaseDataStorage) {
+ if (o1 instanceof JpaDatabaseDataStorage) {
return -1;
- } else if (o2 instanceof HistoryJpaDatabaseDataStorage) {
+ } else if (o2 instanceof JpaDatabaseDataStorage) {
return 1;
} else {
return 0;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/service/WarehouseServiceImpl.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/service/WarehouseServiceImpl.java
index 69f3e6187..63a0d802c 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/service/WarehouseServiceImpl.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/service/WarehouseServiceImpl.java
@@ -21,8 +21,8 @@ import java.util.Collections;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.apache.hertzbeat.common.entity.message.CollectRep;
-import org.apache.hertzbeat.warehouse.store.AbstractRealTimeDataStorage;
-import org.apache.hertzbeat.warehouse.store.RealTimeMemoryDataStorage;
+import
org.apache.hertzbeat.warehouse.store.realtime.AbstractRealTimeDataStorage;
+import org.apache.hertzbeat.warehouse.store.realtime.memory.MemoryDataStorage;
import org.springframework.stereotype.Service;
/**
@@ -43,9 +43,9 @@ public class WarehouseServiceImpl implements WarehouseService
{
AbstractRealTimeDataStorage realTimeDataStorage =
realTimeDataStorages.stream()
.filter(AbstractRealTimeDataStorage::isServerAvailable)
.max((o1, o2) -> {
- if (o1 instanceof RealTimeMemoryDataStorage) {
+ if (o1 instanceof MemoryDataStorage) {
return -1;
- } else if (o2 instanceof RealTimeMemoryDataStorage) {
+ } else if (o2 instanceof MemoryDataStorage) {
return 1;
} else {
return 0;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/DataStorageDispatch.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/DataStorageDispatch.java
index 2a6d84690..24e46f008 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/DataStorageDispatch.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/DataStorageDispatch.java
@@ -22,6 +22,10 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.queue.CommonDataQueue;
import org.apache.hertzbeat.warehouse.WarehouseWorkerPool;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
+import org.apache.hertzbeat.warehouse.store.history.jpa.JpaDatabaseDataStorage;
+import
org.apache.hertzbeat.warehouse.store.realtime.AbstractRealTimeDataStorage;
+import org.apache.hertzbeat.warehouse.store.realtime.memory.MemoryDataStorage;
import org.springframework.stereotype.Component;
/**
@@ -44,23 +48,28 @@ public class DataStorageDispatch {
this.workerPool = workerPool;
this.historyDataStorages = historyDataStorages;
this.realTimeDataStorages = realTimeDataStorages;
- startStoragePersistentData();
- startStorageRealTimeData();
+ startPersistentDataStorage();
+ startRealTimeDataStorage();
}
- private void startStorageRealTimeData() {
+ private void startRealTimeDataStorage() {
+ if (realTimeDataStorages == null || realTimeDataStorages.isEmpty()) {
+ log.info("no real time data storage start");
+ return;
+ }
+ if (realTimeDataStorages.size() > 1) {
+ realTimeDataStorages.removeIf(MemoryDataStorage.class::isInstance);
+ }
Runnable runnable = () -> {
Thread.currentThread().setName("warehouse-realtime-data-storage");
- if (realTimeDataStorages != null && realTimeDataStorages.size() >
1) {
- realTimeDataStorages.removeIf(item -> item instanceof
RealTimeMemoryDataStorage);
- }
while (!Thread.currentThread().isInterrupted()) {
try {
CollectRep.MetricsData metricsData =
commonDataQueue.pollMetricsDataToRealTimeStorage();
- if (metricsData != null && realTimeDataStorages != null) {
- for (AbstractRealTimeDataStorage realTimeDataStorage :
realTimeDataStorages) {
- realTimeDataStorage.saveData(metricsData);
- }
+ if (metricsData == null) {
+ continue;
+ }
+ for (AbstractRealTimeDataStorage realTimeDataStorage :
realTimeDataStorages) {
+ realTimeDataStorage.saveData(metricsData);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
@@ -70,19 +79,24 @@ public class DataStorageDispatch {
workerPool.executeJob(runnable);
}
- protected void startStoragePersistentData() {
+ protected void startPersistentDataStorage() {
+ if (historyDataStorages == null || historyDataStorages.isEmpty()) {
+ log.info("no history data storage start");
+ return;
+ }
+ if (historyDataStorages.size() > 1) {
+
historyDataStorages.removeIf(JpaDatabaseDataStorage.class::isInstance);
+ }
Runnable runnable = () -> {
Thread.currentThread().setName("warehouse-persistent-data-storage");
- if (historyDataStorages != null && historyDataStorages.size() > 1)
{
- historyDataStorages.removeIf(item -> item instanceof
HistoryJpaDatabaseDataStorage);
- }
while (!Thread.currentThread().isInterrupted()) {
try {
CollectRep.MetricsData metricsData =
commonDataQueue.pollMetricsDataToPersistentStorage();
- if (metricsData != null && historyDataStorages != null) {
- for (AbstractHistoryDataStorage historyDataStorage :
historyDataStorages) {
- historyDataStorage.saveData(metricsData);
- }
+ if (metricsData == null) {
+ continue;
+ }
+ for (AbstractHistoryDataStorage historyDataStorage :
historyDataStorages) {
+ historyDataStorage.saveData(metricsData);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractHistoryDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/AbstractHistoryDataStorage.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractHistoryDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/AbstractHistoryDataStorage.java
index f3b047de5..61a8ef567 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractHistoryDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/AbstractHistoryDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history;
import java.util.List;
import java.util.Map;
@@ -42,7 +42,7 @@ public abstract class AbstractHistoryDataStorage implements
DisposableBean {
* save metrics data
* @param metricsData metrics data
*/
- abstract void saveData(CollectRep.MetricsData metricsData);
+ public abstract void saveData(CollectRep.MetricsData metricsData);
/**
* query history range metrics data from tsdb
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GrepTimeDbDataStorage.java
similarity index 97%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GrepTimeDbDataStorage.java
index 06c52fa0f..c0122b828 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GrepTimeDbDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.greptime;
import io.greptime.GreptimeDB;
import io.greptime.models.ColumnDataType;
@@ -53,7 +53,7 @@ import org.apache.hertzbeat.common.entity.dto.Value;
import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.JsonUtil;
import org.apache.hertzbeat.common.util.TimePeriodUtil;
-import org.apache.hertzbeat.warehouse.config.store.greptime.GreptimeProperties;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
@@ -61,10 +61,9 @@ import org.springframework.stereotype.Component;
* greptimeDB data storage
*/
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.greptime",
- name = "enabled", havingValue = "true")
+@ConditionalOnProperty(prefix = "warehouse.store.greptime", name = "enabled",
havingValue = "true")
@Slf4j
-public class HistoryGrepTimeDbDataStorage extends AbstractHistoryDataStorage {
+public class GrepTimeDbDataStorage extends AbstractHistoryDataStorage {
/**
* storage database
@@ -83,7 +82,7 @@ public class HistoryGrepTimeDbDataStorage extends
AbstractHistoryDataStorage {
private static final String DATABASE_NOT_EXIST = "not exist";
private GreptimeDB greptimeDb;
- public HistoryGrepTimeDbDataStorage(GreptimeProperties greptimeProperties)
{
+ public GrepTimeDbDataStorage(GreptimeProperties greptimeProperties) {
this.serverAvailable = this.initDbSession(greptimeProperties);
}
@@ -157,7 +156,7 @@ public class HistoryGrepTimeDbDataStorage extends
AbstractHistoryDataStorage {
}
@Override
- void saveData(CollectRep.MetricsData metricsData) {
+ public void saveData(CollectRep.MetricsData metricsData) {
if (!isServerAvailable() || metricsData.getCode() !=
CollectRep.Code.SUCCESS) {
return;
}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/greptime/GreptimeProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeProperties.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/greptime/GreptimeProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeProperties.java
index b7d439d21..0561af78d 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/greptime/GreptimeProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.greptime;
+package org.apache.hertzbeat.warehouse.store.history.greptime;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/influxdb/InfluxdbDataStorage.java
similarity index 97%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/influxdb/InfluxdbDataStorage.java
index 522736c94..65aded4ad 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/influxdb/InfluxdbDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.influxdb;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -40,7 +40,7 @@ import org.apache.hertzbeat.common.constants.CommonConstants;
import org.apache.hertzbeat.common.entity.dto.Value;
import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.JsonUtil;
-import org.apache.hertzbeat.warehouse.config.store.influxdb.InfluxdbProperties;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.apache.http.ssl.SSLContexts;
import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
@@ -55,10 +55,9 @@ import org.springframework.stereotype.Component;
* HistoryInfluxdbDataStorage class
*/
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.influxdb",
- name = "enabled", havingValue = "true")
+@ConditionalOnProperty(prefix = "warehouse.store.influxdb", name = "enabled",
havingValue = "true")
@Slf4j
-public class HistoryInfluxdbDataStorage extends AbstractHistoryDataStorage {
+public class InfluxdbDataStorage extends AbstractHistoryDataStorage {
private static final String DATABASE = "hertzbeat";
@@ -79,7 +78,7 @@ public class HistoryInfluxdbDataStorage extends
AbstractHistoryDataStorage {
private InfluxDB influxDb;
- public HistoryInfluxdbDataStorage(InfluxdbProperties influxdbProperties) {
+ public InfluxdbDataStorage(InfluxdbProperties influxdbProperties) {
this.initInfluxDb(influxdbProperties);
}
@@ -139,7 +138,7 @@ public class HistoryInfluxdbDataStorage extends
AbstractHistoryDataStorage {
}
@Override
- void saveData(CollectRep.MetricsData metricsData) {
+ public void saveData(CollectRep.MetricsData metricsData) {
if (!isServerAvailable() || metricsData.getCode() !=
CollectRep.Code.SUCCESS) {
return;
}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/influxdb/InfluxdbProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/influxdb/InfluxdbProperties.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/influxdb/InfluxdbProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/influxdb/InfluxdbProperties.java
index 3dcbb2207..0e78e356b 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/influxdb/InfluxdbProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/influxdb/InfluxdbProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.influxdb;
+package org.apache.hertzbeat.warehouse.store.history.influxdb;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbDataStorage.java
similarity index 97%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbDataStorage.java
index 39a9358eb..44a2512b5 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.iotdb;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -29,8 +29,7 @@ import org.apache.hertzbeat.common.constants.CommonConstants;
import org.apache.hertzbeat.common.entity.dto.Value;
import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.JsonUtil;
-import org.apache.hertzbeat.warehouse.config.store.iotdb.IotDbProperties;
-import org.apache.hertzbeat.warehouse.config.store.iotdb.IotDbVersion;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.apache.iotdb.rpc.IoTDBConnectionException;
import org.apache.iotdb.rpc.StatementExecutionException;
import org.apache.iotdb.session.pool.SessionDataSetWrapper;
@@ -46,10 +45,9 @@ import org.springframework.stereotype.Component;
* IoTDB data storage
*/
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.iot-db",
- name = "enabled", havingValue = "true")
+@ConditionalOnProperty(prefix = "warehouse.store.iot-db", name = "enabled",
havingValue = "true")
@Slf4j
-public class HistoryIotDbDataStorage extends AbstractHistoryDataStorage {
+public class IotDbDataStorage extends AbstractHistoryDataStorage {
private static final String BACK_QUOTE = "`";
/**
* set ttl never expire
@@ -87,7 +85,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
private long queryTimeoutInMs;
- public HistoryIotDbDataStorage(IotDbProperties iotDbProperties) {
+ public IotDbDataStorage(IotDbProperties iotDbProperties) {
this.serverAvailable = this.initIotDbSession(iotDbProperties);
}
@@ -179,7 +177,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
}
@Override
- void saveData(CollectRep.MetricsData metricsData) {
+ public void saveData(CollectRep.MetricsData metricsData) {
if (!isServerAvailable() || metricsData.getCode() !=
CollectRep.Code.SUCCESS) {
return;
}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/iotdb/IotDbProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbProperties.java
similarity index 97%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/iotdb/IotDbProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbProperties.java
index 28b964dbd..cc9e0e7a9 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/iotdb/IotDbProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.iotdb;
+package org.apache.hertzbeat.warehouse.store.history.iotdb;
import java.time.ZoneId;
import java.util.List;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/iotdb/IotDbVersion.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbVersion.java
similarity index 94%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/iotdb/IotDbVersion.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbVersion.java
index ae51e63b2..3f756c7c7 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/iotdb/IotDbVersion.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/iotdb/IotDbVersion.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.iotdb;
+package org.apache.hertzbeat.warehouse.store.history.iotdb;
/**
* IoTDB user version
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/jpa/JpaDatabaseDataStorage.java
similarity index 96%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/jpa/JpaDatabaseDataStorage.java
index 2d4f37a3b..caea08df4 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/jpa/JpaDatabaseDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.jpa;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import jakarta.persistence.criteria.Predicate;
@@ -42,8 +42,8 @@ import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.entity.warehouse.History;
import org.apache.hertzbeat.common.util.JsonUtil;
import org.apache.hertzbeat.common.util.TimePeriodUtil;
-import org.apache.hertzbeat.warehouse.config.store.jpa.JpaProperties;
import org.apache.hertzbeat.warehouse.dao.HistoryDao;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
@@ -53,17 +53,16 @@ import org.springframework.stereotype.Component;
* data storage by mysql/h2 - jpa
*/
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.jpa",
- name = "enabled", havingValue = "true")
+@ConditionalOnProperty(prefix = "warehouse.store.jpa", name = "enabled",
havingValue = "true")
@Slf4j
-public class HistoryJpaDatabaseDataStorage extends AbstractHistoryDataStorage {
+public class JpaDatabaseDataStorage extends AbstractHistoryDataStorage {
private final HistoryDao historyDao;
private final JpaProperties jpaProperties;
private static final int STRING_MAX_LENGTH = 1024;
- public HistoryJpaDatabaseDataStorage(JpaProperties jpaProperties,
- HistoryDao historyDao) {
+ public JpaDatabaseDataStorage(JpaProperties jpaProperties,
+ HistoryDao historyDao) {
this.jpaProperties = jpaProperties;
this.serverAvailable = true;
this.historyDao = historyDao;
@@ -116,7 +115,7 @@ public class HistoryJpaDatabaseDataStorage extends
AbstractHistoryDataStorage {
}
@Override
- void saveData(CollectRep.MetricsData metricsData) {
+ public void saveData(CollectRep.MetricsData metricsData) {
if (metricsData.getCode() != CollectRep.Code.SUCCESS) {
return;
}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/jpa/JpaProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/jpa/JpaProperties.java
similarity index 96%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/jpa/JpaProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/jpa/JpaProperties.java
index 986b824bf..3b3d7a3b4 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/jpa/JpaProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/jpa/JpaProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.jpa;
+package org.apache.hertzbeat.warehouse.store.history.jpa;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryTdEngineDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tdengine/TdEngineDataStorage.java
similarity index 98%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryTdEngineDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tdengine/TdEngineDataStorage.java
index 18643b5d9..d50cf4c3c 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryTdEngineDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tdengine/TdEngineDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.tdengine;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
@@ -37,7 +37,7 @@ import org.apache.hertzbeat.common.constants.CommonConstants;
import org.apache.hertzbeat.common.entity.dto.Value;
import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.JsonUtil;
-import org.apache.hertzbeat.warehouse.config.store.tdengine.TdEngineProperties;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
@@ -50,7 +50,7 @@ import org.springframework.stereotype.Component;
@ConditionalOnProperty(prefix = "warehouse.store.td-engine",
name = "enabled", havingValue = "true")
@Slf4j
-public class HistoryTdEngineDataStorage extends AbstractHistoryDataStorage {
+public class TdEngineDataStorage extends AbstractHistoryDataStorage {
private static final Pattern SQL_SPECIAL_STRING_PATTERN =
Pattern.compile("(\\\\)|(')");
private static final String INSTANCE_NULL = "''";
@@ -71,7 +71,7 @@ public class HistoryTdEngineDataStorage extends
AbstractHistoryDataStorage {
private HikariDataSource hikariDataSource;
private final int tableStrColumnDefineMaxLength;
- public HistoryTdEngineDataStorage(TdEngineProperties tdEngineProperties) {
+ public TdEngineDataStorage(TdEngineProperties tdEngineProperties) {
if (tdEngineProperties == null) {
log.error("init error, please config Warehouse TdEngine props in
application.yml");
throw new IllegalArgumentException("please config Warehouse
TdEngine props");
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/tdengine/TdEngineProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tdengine/TdEngineProperties.java
similarity index 96%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/tdengine/TdEngineProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tdengine/TdEngineProperties.java
index 313a8c239..d364d86b4 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/tdengine/TdEngineProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/tdengine/TdEngineProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.tdengine;
+package org.apache.hertzbeat.warehouse.store.history.tdengine;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryVictoriaMetricsClusterDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java
similarity index 98%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryVictoriaMetricsClusterDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java
index 27d6a3ddb..4a779c715 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryVictoriaMetricsClusterDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.vm;
import com.fasterxml.jackson.databind.JsonNode;
@@ -46,9 +46,7 @@ import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.CommonUtil;
import org.apache.hertzbeat.common.util.JsonUtil;
import org.apache.hertzbeat.common.util.TimePeriodUtil;
-import
org.apache.hertzbeat.warehouse.config.store.vm.cluster.VictoriaMetricsClusterProperties;
-import
org.apache.hertzbeat.warehouse.config.store.vm.cluster.VictoriaMetricsInsertProperties;
-import
org.apache.hertzbeat.warehouse.config.store.vm.cluster.VictoriaMetricsSelectProperties;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Primary;
import org.springframework.http.HttpEntity;
@@ -69,7 +67,7 @@ import org.springframework.web.util.UriComponentsBuilder;
@Component
@ConditionalOnProperty(prefix = "warehouse.store.victoria-metrics.cluster",
name = "enabled", havingValue = "true")
@Slf4j
-public class HistoryVictoriaMetricsClusterDataStorage extends
AbstractHistoryDataStorage {
+public class VictoriaMetricsClusterDataStorage extends
AbstractHistoryDataStorage {
private static final String IMPORT_PATH = "/api/v1/import";
private static final String EXPORT_PATH = "/api/v1/export";
@@ -90,8 +88,8 @@ public class HistoryVictoriaMetricsClusterDataStorage extends
AbstractHistoryDat
private final RestTemplate restTemplate;
- public
HistoryVictoriaMetricsClusterDataStorage(VictoriaMetricsClusterProperties
vmClusterProps,
- RestTemplate restTemplate) {
+ public VictoriaMetricsClusterDataStorage(VictoriaMetricsClusterProperties
vmClusterProps,
+ RestTemplate restTemplate) {
if (vmClusterProps == null) {
log.error("init error, please config Warehouse victoriaMetrics
cluster props in application.yml");
throw new IllegalArgumentException("please config Warehouse
victoriaMetrics cluster props");
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsClusterProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterProperties.java
similarity index 94%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsClusterProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterProperties.java
index a8e84770b..a89fead34 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsClusterProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.vm.cluster;
+package org.apache.hertzbeat.warehouse.store.history.vm;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryVictoriaMetricsDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
similarity index 98%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryVictoriaMetricsDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
index f5e8dca38..6a687fa29 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryVictoriaMetricsDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.history.vm;
import com.fasterxml.jackson.databind.JsonNode;
import java.math.BigDecimal;
@@ -45,7 +45,7 @@ import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.CommonUtil;
import org.apache.hertzbeat.common.util.JsonUtil;
import org.apache.hertzbeat.common.util.TimePeriodUtil;
-import
org.apache.hertzbeat.warehouse.config.store.vm.VictoriaMetricsProperties;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Primary;
import org.springframework.http.HttpEntity;
@@ -63,10 +63,9 @@ import org.springframework.web.util.UriComponentsBuilder;
*/
@Primary
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.victoria-metrics",
- name = "enabled", havingValue = "true")
+@ConditionalOnProperty(prefix = "warehouse.store.victoria-metrics", name =
"enabled", havingValue = "true")
@Slf4j
-public class HistoryVictoriaMetricsDataStorage extends
AbstractHistoryDataStorage {
+public class VictoriaMetricsDataStorage extends AbstractHistoryDataStorage {
private static final String IMPORT_PATH = "/api/v1/import";
/**
@@ -91,7 +90,7 @@ public class HistoryVictoriaMetricsDataStorage extends
AbstractHistoryDataStorag
private final RestTemplate restTemplate;
- public HistoryVictoriaMetricsDataStorage(VictoriaMetricsProperties
victoriaMetricsProperties, RestTemplate restTemplate) {
+ public VictoriaMetricsDataStorage(VictoriaMetricsProperties
victoriaMetricsProperties, RestTemplate restTemplate) {
if (victoriaMetricsProperties == null) {
log.error("init error, please config Warehouse victoriaMetrics
props in application.yml");
throw new IllegalArgumentException("please config Warehouse
victoriaMetrics props");
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsInsertProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsInsertProperties.java
similarity index 93%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsInsertProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsInsertProperties.java
index 55ccb00bd..be6170ac7 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsInsertProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsInsertProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.vm.cluster;
+package org.apache.hertzbeat.warehouse.store.history.vm;
/**
* vminsert configuration information
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/VictoriaMetricsProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsProperties.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/VictoriaMetricsProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsProperties.java
index f6cf555e3..563458511 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/VictoriaMetricsProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.vm;
+package org.apache.hertzbeat.warehouse.store.history.vm;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsSelectProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsSelectProperties.java
similarity index 93%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsSelectProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsSelectProperties.java
index 40326414d..dad163617 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/vm/cluster/VictoriaMetricsSelectProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsSelectProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.vm.cluster;
+package org.apache.hertzbeat.warehouse.store.history.vm;
/**
* vmselect configuration information
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/AbstractRealTimeDataStorage.java
similarity index 93%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/AbstractRealTimeDataStorage.java
index 6973cb640..d5f631c53 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/AbstractRealTimeDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.realtime;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
@@ -42,7 +42,7 @@ public abstract class AbstractRealTimeDataStorage implements
DisposableBean {
* save collect metrics data
* @param metricsData metrics data
*/
- abstract void saveData(CollectRep.MetricsData metricsData);
+ public abstract void saveData(CollectRep.MetricsData metricsData);
/**
* query real-time last metrics data
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/memory/MemoryDataStorage.java
similarity index 89%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/memory/MemoryDataStorage.java
index efcf6fe61..9f28bcf78 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/memory/MemoryDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.realtime.memory;
import java.util.ArrayList;
import java.util.List;
@@ -23,7 +23,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import lombok.extern.slf4j.Slf4j;
import org.apache.hertzbeat.common.entity.message.CollectRep;
-import org.apache.hertzbeat.warehouse.config.store.memory.MemoryProperties;
+import
org.apache.hertzbeat.warehouse.store.realtime.AbstractRealTimeDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Component;
@@ -32,10 +32,9 @@ import org.springframework.stereotype.Component;
* Store and collect real-time data - memory
*/
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.memory",
- name = "enabled", havingValue = "true", matchIfMissing = true)
+@ConditionalOnProperty(prefix = "warehouse.store.memory", name = "enabled",
havingValue = "true", matchIfMissing = true)
@Slf4j
-public class RealTimeMemoryDataStorage extends AbstractRealTimeDataStorage {
+public class MemoryDataStorage extends AbstractRealTimeDataStorage {
/**
* monitorId -> metricsName -> data
@@ -44,7 +43,7 @@ public class RealTimeMemoryDataStorage extends
AbstractRealTimeDataStorage {
private static final Integer DEFAULT_INIT_SIZE = 16;
private static final Integer METRICS_SIZE = 8;
- public RealTimeMemoryDataStorage(MemoryProperties memoryProperties) {
+ public MemoryDataStorage(MemoryProperties memoryProperties) {
int initSize = DEFAULT_INIT_SIZE;
if (memoryProperties != null
&& memoryProperties.initSize() != null) {
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/memory/MemoryProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/memory/MemoryProperties.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/memory/MemoryProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/memory/MemoryProperties.java
index 12003e250..8e5dd7acd 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/memory/MemoryProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/memory/MemoryProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.memory;
+package org.apache.hertzbeat.warehouse.store.realtime.memory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/MetricsDataRedisCodec.java
similarity index 96%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/MetricsDataRedisCodec.java
index d3b8318b0..7248b2bfa 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/MetricsDataRedisCodec.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.realtime.redis;
import io.lettuce.core.codec.RedisCodec;
import java.nio.ByteBuffer;
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/RedisDataStorage.java
similarity index 92%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/RedisDataStorage.java
index e5f25ad10..b9a08953d 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/RedisDataStorage.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.store;
+package org.apache.hertzbeat.warehouse.store.realtime.redis;
import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
@@ -29,7 +29,7 @@ import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.hertzbeat.common.entity.message.CollectRep;
-import org.apache.hertzbeat.warehouse.config.store.redis.RedisProperties;
+import
org.apache.hertzbeat.warehouse.store.realtime.AbstractRealTimeDataStorage;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Primary;
import org.springframework.lang.NonNull;
@@ -40,16 +40,15 @@ import org.springframework.stereotype.Component;
*/
@Primary
@Component
-@ConditionalOnProperty(prefix = "warehouse.store.redis",
- name = "enabled", havingValue = "true")
+@ConditionalOnProperty(prefix = "warehouse.store.redis", name = "enabled",
havingValue = "true")
@Slf4j
-public class RealTimeRedisDataStorage extends AbstractRealTimeDataStorage {
+public class RedisDataStorage extends AbstractRealTimeDataStorage {
private RedisClient redisClient;
private final Integer db;
private StatefulRedisConnection<String, CollectRep.MetricsData> connection;
- public RealTimeRedisDataStorage(RedisProperties redisProperties) {
+ public RedisDataStorage(RedisProperties redisProperties) {
this.serverAvailable = initRedisClient(redisProperties);
this.db = getRedisSelectDb(redisProperties);
}
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/redis/RedisProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/RedisProperties.java
similarity index 95%
rename from
warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/redis/RedisProperties.java
rename to
warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/RedisProperties.java
index 93f2d5ed9..5263c1784 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/store/redis/RedisProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/realtime/redis/RedisProperties.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.hertzbeat.warehouse.config.store.redis;
+package org.apache.hertzbeat.warehouse.store.realtime.redis;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.bind.DefaultValue;
diff --git a/warehouse/src/main/resources/META-INF/spring.factories
b/warehouse/src/main/resources/META-INF/spring.factories
index 64179dd3e..f155fb825 100644
--- a/warehouse/src/main/resources/META-INF/spring.factories
+++ b/warehouse/src/main/resources/META-INF/spring.factories
@@ -14,4 +14,4 @@
# limitations under the License.
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.hertzbeat.warehouse.config.WarehouseAutoConfiguration
\ No newline at end of file
+org.apache.hertzbeat.warehouse.WarehouseAutoConfiguration
\ No newline at end of file
diff --git
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/controller/MetricsDataControllerTest.java
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/controller/MetricsDataControllerTest.java
index 6d8c07134..b97384729 100644
---
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/controller/MetricsDataControllerTest.java
+++
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/controller/MetricsDataControllerTest.java
@@ -33,8 +33,8 @@ import java.util.Map;
import org.apache.hertzbeat.common.constants.CommonConstants;
import org.apache.hertzbeat.common.entity.dto.Value;
import org.apache.hertzbeat.common.entity.message.CollectRep;
-import org.apache.hertzbeat.warehouse.store.AbstractHistoryDataStorage;
-import org.apache.hertzbeat.warehouse.store.AbstractRealTimeDataStorage;
+import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage;
+import
org.apache.hertzbeat.warehouse.store.realtime.AbstractRealTimeDataStorage;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
diff --git
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorageTest.java
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MemoryDataStorageTest.java
similarity index 87%
rename from
warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorageTest.java
rename to
warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MemoryDataStorageTest.java
index f5140f58a..ba3a20662 100644
---
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorageTest.java
+++
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MemoryDataStorageTest.java
@@ -17,13 +17,14 @@
package org.apache.hertzbeat.warehouse.store;
+import org.apache.hertzbeat.warehouse.store.realtime.memory.MemoryDataStorage;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
- * Test case for {@link RealTimeRedisDataStorage}
+ * Test case for {@link MemoryDataStorage}
*/
-class RealTimeRedisDataStorageTest {
+class MemoryDataStorageTest {
@BeforeEach
void setUp() {
diff --git
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodecTest.java
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodecTest.java
index 81bef4e6b..dd265d8d6 100644
---
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodecTest.java
+++
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodecTest.java
@@ -17,6 +17,7 @@
package org.apache.hertzbeat.warehouse.store;
+import
org.apache.hertzbeat.warehouse.store.realtime.redis.MetricsDataRedisCodec;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorageTest.java
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RedisDataStorageTest.java
similarity index 87%
rename from
warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorageTest.java
rename to
warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RedisDataStorageTest.java
index bd32658a5..2beae5064 100644
---
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorageTest.java
+++
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/RedisDataStorageTest.java
@@ -17,13 +17,14 @@
package org.apache.hertzbeat.warehouse.store;
+import org.apache.hertzbeat.warehouse.store.realtime.redis.RedisDataStorage;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
- * Test case for {@link RealTimeMemoryDataStorage}
+ * Test case for {@link RedisDataStorage}
*/
-class RealTimeMemoryDataStorageTest {
+class RedisDataStorageTest {
@BeforeEach
void setUp() {
diff --git
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/HistoryTdEngineDataStorageTest.java
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/TdEngineDataStorageTest.java
similarity index 88%
rename from
warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/HistoryTdEngineDataStorageTest.java
rename to
warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/TdEngineDataStorageTest.java
index 4869faab0..dc1cfdef2 100644
---
a/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/HistoryTdEngineDataStorageTest.java
+++
b/warehouse/src/test/java/org/apache/hertzbeat/warehouse/store/TdEngineDataStorageTest.java
@@ -17,13 +17,14 @@
package org.apache.hertzbeat.warehouse.store;
+import
org.apache.hertzbeat.warehouse.store.history.tdengine.TdEngineDataStorage;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
- * Test case for {@link HistoryTdEngineDataStorage}
+ * Test case for {@link TdEngineDataStorage}
*/
-class HistoryTdEngineDataStorageTest {
+class TdEngineDataStorageTest {
@BeforeEach
void setUp() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]