Separated TTL from minute to minute, hour, day, month. (#1268)
* #1263 Separated TTL from minute to minute, hour, day, month. * 1. Minute metric data ttl change to 90, because of the 1 hour duration condition in UI means 60 minutes. And i prefer to setting the value up to above 50%. 2. Some description and logging. #1263 * Add a config time named traceDataTTL for trace data TTL. #1263 * Fixed the logger english sentence mistake.
This commit is contained in:
parent
af5eedebd3
commit
faaf3e829b
|
|
@ -64,7 +64,7 @@ public class GlobalTraceSpanListener implements GlobalTraceIdsListener {
|
|||
for (String globalTraceId : globalTraceIds) {
|
||||
GlobalTrace globalTrace = new GlobalTrace();
|
||||
globalTrace.setId(segmentCoreInfo.getSegmentId() + Const.ID_SPLIT + globalTraceId);
|
||||
globalTrace.setGlobalTraceId(globalTraceId);
|
||||
globalTrace.setTraceId(globalTraceId);
|
||||
globalTrace.setSegmentId(segmentCoreInfo.getSegmentId());
|
||||
globalTrace.setTimeBucket(segmentCoreInfo.getMinuteTimeBucket());
|
||||
graph.start(globalTrace);
|
||||
|
|
|
|||
|
|
@ -68,7 +68,12 @@ storage:
|
|||
indexShardsNumber: 2
|
||||
indexReplicasNumber: 0
|
||||
highPerformanceMode: true
|
||||
ttl: 7
|
||||
# Set a timeout on metric data. After the timeout has expired, the metric data will automatically be deleted.
|
||||
traceDataTTL: 90 # Unit is minute
|
||||
minuteMetricDataTTL: 90 # Unit is minute
|
||||
hourMetricDataTTL: 36 # Unit is hour
|
||||
dayMetricDataTTL: 45 # Unit is day
|
||||
monthMetricDataTTL: 18 # Unit is month
|
||||
#storage:
|
||||
# h2:
|
||||
# url: jdbc:h2:~/memorydb
|
||||
|
|
|
|||
|
|
@ -31,5 +31,5 @@ public interface IPersistenceDAO<INSERT, UPDATE, STREAM_DATA extends StreamData>
|
|||
|
||||
UPDATE prepareBatchUpdate(STREAM_DATA data);
|
||||
|
||||
void deleteHistory(Long startTimestamp, Long endTimestamp);
|
||||
void deleteHistory(Long timeBucketBefore);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,11 +73,11 @@ public class GlobalTrace extends StreamData {
|
|||
setDataString(1, segmentId);
|
||||
}
|
||||
|
||||
public String getGlobalTraceId() {
|
||||
public String getTraceId() {
|
||||
return getDataString(2);
|
||||
}
|
||||
|
||||
public void setGlobalTraceId(String globalTraceId) {
|
||||
public void setTraceId(String globalTraceId) {
|
||||
setDataString(2, globalTraceId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,10 +18,8 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.es;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.*;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils;
|
||||
import org.apache.skywalking.apm.collector.storage.StorageModule;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.acp.*;
|
||||
|
|
@ -40,6 +38,7 @@ import org.apache.skywalking.apm.collector.storage.dao.rtd.*;
|
|||
import org.apache.skywalking.apm.collector.storage.dao.smp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.srmp.*;
|
||||
import org.apache.skywalking.apm.util.RunnableWithExceptionProtection;
|
||||
import org.joda.time.DateTime;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
|
|
@ -51,190 +50,188 @@ class DataTTLKeeperTimer {
|
|||
private final ModuleManager moduleManager;
|
||||
private final StorageModuleEsNamingListener namingListener;
|
||||
private final String selfAddress;
|
||||
private final int daysBefore;
|
||||
private int traceDataTTL = 90;
|
||||
private int minuteMetricDataTTL = 90;
|
||||
private int hourMetricDataTTL = 36;
|
||||
private int dayMetricDataTTL = 45;
|
||||
private int monthMetricDataTTL = 18;
|
||||
|
||||
DataTTLKeeperTimer(ModuleManager moduleManager,
|
||||
StorageModuleEsNamingListener namingListener, String selfAddress, int daysBefore) {
|
||||
StorageModuleEsNamingListener namingListener, String selfAddress) {
|
||||
this.moduleManager = moduleManager;
|
||||
this.namingListener = namingListener;
|
||||
this.selfAddress = selfAddress;
|
||||
this.daysBefore = daysBefore;
|
||||
}
|
||||
|
||||
void start() {
|
||||
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(
|
||||
new RunnableWithExceptionProtection(this::delete,
|
||||
t -> logger.error("Remove data in background failure.", t)), 1, 8, TimeUnit.HOURS);
|
||||
t -> logger.error("Remove data in background failure.", t)), 1, 5, TimeUnit.MINUTES);
|
||||
}
|
||||
|
||||
private void delete() {
|
||||
if (!namingListener.getAddresses().iterator().next().equals(selfAddress)) {
|
||||
String firstAddressInCluster = namingListener.getAddresses().iterator().next();
|
||||
if (!firstAddressInCluster.equals(selfAddress)) {
|
||||
logger.info("Current address {} isn't same with the selected first address is {}. Skip.", selfAddress, firstAddressInCluster);
|
||||
return;
|
||||
}
|
||||
|
||||
TimeBuckets timeBuckets = convertTimeBucket();
|
||||
TimeBuckets timeBuckets = convertTimeBucket(new DateTime());
|
||||
logger.info("Beginning to remove expired metrics from the storage.");
|
||||
logger.info("Metrics in minute dimension before {}, are going to be removed.", timeBuckets.minuteTimeBucketBefore);
|
||||
logger.info("Metrics in hour dimension before {}, are going to be removed.", timeBuckets.hourTimeBucketBefore);
|
||||
logger.info("Metrics in day dimension before {}, are going to be removed.", timeBuckets.dayTimeBucketBefore);
|
||||
logger.info("Metrics in month dimension before {}, are going to be removed.", timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
deleteJVMRelatedData(timeBuckets);
|
||||
deleteTraceRelatedData(timeBuckets);
|
||||
deleteAlarmRelatedData(timeBuckets);
|
||||
}
|
||||
|
||||
TimeBuckets convertTimeBucket() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
calendar.add(Calendar.DAY_OF_MONTH, -daysBefore);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
|
||||
long startTimestamp = calendar.getTimeInMillis();
|
||||
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 23);
|
||||
calendar.set(Calendar.MINUTE, 59);
|
||||
calendar.set(Calendar.SECOND, 59);
|
||||
|
||||
long endTimestamp = calendar.getTimeInMillis();
|
||||
|
||||
TimeBuckets convertTimeBucket(DateTime currentTime) {
|
||||
TimeBuckets timeBuckets = new TimeBuckets();
|
||||
timeBuckets.startSecondTimeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(startTimestamp);
|
||||
timeBuckets.endSecondTimeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(endTimestamp);
|
||||
|
||||
timeBuckets.startMinuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(startTimestamp);
|
||||
timeBuckets.endMinuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(endTimestamp);
|
||||
|
||||
timeBuckets.startHourTimeBucket = TimeBucketUtils.INSTANCE.minuteToHour(timeBuckets.startMinuteTimeBucket);
|
||||
timeBuckets.endHourTimeBucket = TimeBucketUtils.INSTANCE.minuteToHour(timeBuckets.endMinuteTimeBucket);
|
||||
|
||||
timeBuckets.startDayTimeBucket = TimeBucketUtils.INSTANCE.minuteToDay(timeBuckets.startMinuteTimeBucket);
|
||||
timeBuckets.endDayTimeBucket = TimeBucketUtils.INSTANCE.minuteToDay(timeBuckets.endMinuteTimeBucket);
|
||||
|
||||
timeBuckets.startMonthTimeBucket = TimeBucketUtils.INSTANCE.minuteToMonth(timeBuckets.startMinuteTimeBucket);
|
||||
timeBuckets.endMonthTimeBucket = TimeBucketUtils.INSTANCE.minuteToMonth(timeBuckets.endMinuteTimeBucket);
|
||||
timeBuckets.traceDataBefore = Long.valueOf(currentTime.plusMinutes(0 - traceDataTTL).toString("yyyyMMddHHmm"));
|
||||
timeBuckets.minuteTimeBucketBefore = Long.valueOf(currentTime.plusMinutes(0 - minuteMetricDataTTL).toString("yyyyMMddHHmm"));
|
||||
timeBuckets.hourTimeBucketBefore = Long.valueOf(currentTime.plusHours(0 - hourMetricDataTTL).toString("yyyyMMddHH"));
|
||||
timeBuckets.dayTimeBucketBefore = Long.valueOf(currentTime.plusDays(0 - dayMetricDataTTL).toString("yyyyMMdd"));
|
||||
timeBuckets.monthTimeBucketBefore = Long.valueOf(currentTime.plusMonths(0 - monthMetricDataTTL).toString("yyyyMM"));
|
||||
|
||||
return timeBuckets;
|
||||
}
|
||||
|
||||
private void deleteAlarmRelatedData(TimeBuckets timeBuckets) {
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListMinutePersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListHourPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListDayPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListMonthPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListMinutePersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListHourPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListDayPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationAlarmListMonthPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceAlarmPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceAlarmListPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
}
|
||||
|
||||
private void deleteJVMRelatedData(TimeBuckets timeBuckets) {
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(ICpuMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGCMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IMemoryPoolMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
}
|
||||
|
||||
private void deleteTraceRelatedData(TimeBuckets timeBuckets) {
|
||||
moduleManager.find(StorageModule.NAME).getService(IGlobalTracePersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(ISegmentDurationPersistenceDAO.class).deleteHistory(timeBuckets.startSecondTimeBucket, timeBuckets.endSecondTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(ISegmentPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IGlobalTracePersistenceDAO.class).deleteHistory(timeBuckets.traceDataBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(ISegmentDurationPersistenceDAO.class).deleteHistory(timeBuckets.traceDataBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(ISegmentPersistenceDAO.class).deleteHistory(timeBuckets.traceDataBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentMinutePersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentHourPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentDayPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentMonthPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentMinutePersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentHourPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentDayPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationComponentMonthPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingMinutePersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingHourPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingDayPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingMonthPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingMinutePersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingHourPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingDayPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationMappingMonthPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IApplicationReferenceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingMinutePersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingHourPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingDayPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingMonthPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingMinutePersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingHourPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingDayPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceMappingMonthPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IInstanceReferenceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionMinutePersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionHourPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionDayPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionMonthPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionMinutePersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionHourPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionDayPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IResponseTimeDistributionMonthPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMinuteTimeBucket, timeBuckets.endMinuteTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.startHourTimeBucket, timeBuckets.endHourTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.startDayTimeBucket, timeBuckets.endDayTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.startMonthTimeBucket, timeBuckets.endMonthTimeBucket);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceMinuteMetricPersistenceDAO.class).deleteHistory(timeBuckets.minuteTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceHourMetricPersistenceDAO.class).deleteHistory(timeBuckets.hourTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceDayMetricPersistenceDAO.class).deleteHistory(timeBuckets.dayTimeBucketBefore);
|
||||
moduleManager.find(StorageModule.NAME).getService(IServiceReferenceMonthMetricPersistenceDAO.class).deleteHistory(timeBuckets.monthTimeBucketBefore);
|
||||
}
|
||||
|
||||
void setTraceDataTTL(int traceDataTTL) {
|
||||
this.traceDataTTL = traceDataTTL == 0 ? 90 : traceDataTTL;
|
||||
}
|
||||
|
||||
void setMinuteMetricDataTTL(int minuteMetricDataTTL) {
|
||||
this.minuteMetricDataTTL = minuteMetricDataTTL == 0 ? 90 : minuteMetricDataTTL;
|
||||
}
|
||||
|
||||
void setHourMetricDataTTL(int hourMetricDataTTL) {
|
||||
this.hourMetricDataTTL = hourMetricDataTTL == 0 ? 36 : hourMetricDataTTL;
|
||||
}
|
||||
|
||||
void setDayMetricDataTTL(int dayMetricDataTTL) {
|
||||
this.dayMetricDataTTL = dayMetricDataTTL == 0 ? 45 : dayMetricDataTTL;
|
||||
}
|
||||
|
||||
void setMonthMetricDataTTL(int monthMetricDataTTL) {
|
||||
this.monthMetricDataTTL = monthMetricDataTTL == 0 ? 18 : monthMetricDataTTL;
|
||||
}
|
||||
|
||||
class TimeBuckets {
|
||||
private long startSecondTimeBucket;
|
||||
private long endSecondTimeBucket;
|
||||
|
||||
private long startMinuteTimeBucket;
|
||||
private long endMinuteTimeBucket;
|
||||
|
||||
private long startHourTimeBucket;
|
||||
private long endHourTimeBucket;
|
||||
|
||||
private long startDayTimeBucket;
|
||||
private long endDayTimeBucket;
|
||||
|
||||
private long startMonthTimeBucket;
|
||||
private long endMonthTimeBucket;
|
||||
private long traceDataBefore;
|
||||
private long minuteTimeBucketBefore;
|
||||
private long hourTimeBucketBefore;
|
||||
private long dayTimeBucketBefore;
|
||||
private long monthTimeBucketBefore;
|
||||
}
|
||||
}
|
||||
|
|
@ -27,8 +27,12 @@ class StorageModuleEsConfig extends ElasticSearchClientConfig {
|
|||
|
||||
private int indexShardsNumber;
|
||||
private int indexReplicasNumber;
|
||||
private int ttl;
|
||||
private boolean highPerformanceMode;
|
||||
private int traceDataTTL;
|
||||
private int minuteMetricDataTTL;
|
||||
private int hourMetricDataTTL;
|
||||
private int dayMetricDataTTL;
|
||||
private int monthMetricDataTTL;
|
||||
|
||||
int getIndexShardsNumber() {
|
||||
return indexShardsNumber;
|
||||
|
|
@ -46,14 +50,6 @@ class StorageModuleEsConfig extends ElasticSearchClientConfig {
|
|||
this.indexReplicasNumber = indexReplicasNumber;
|
||||
}
|
||||
|
||||
int getTtl() {
|
||||
return ttl;
|
||||
}
|
||||
|
||||
void setTtl(int ttl) {
|
||||
this.ttl = ttl;
|
||||
}
|
||||
|
||||
boolean isHighPerformanceMode() {
|
||||
return highPerformanceMode;
|
||||
}
|
||||
|
|
@ -61,4 +57,44 @@ class StorageModuleEsConfig extends ElasticSearchClientConfig {
|
|||
void setHighPerformanceMode(boolean highPerformanceMode) {
|
||||
this.highPerformanceMode = highPerformanceMode;
|
||||
}
|
||||
|
||||
int getTraceDataTTL() {
|
||||
return traceDataTTL;
|
||||
}
|
||||
|
||||
void setTraceDataTTL(int traceDataTTL) {
|
||||
this.traceDataTTL = traceDataTTL;
|
||||
}
|
||||
|
||||
int getMinuteMetricDataTTL() {
|
||||
return minuteMetricDataTTL;
|
||||
}
|
||||
|
||||
void setMinuteMetricDataTTL(int minuteMetricDataTTL) {
|
||||
this.minuteMetricDataTTL = minuteMetricDataTTL;
|
||||
}
|
||||
|
||||
int getHourMetricDataTTL() {
|
||||
return hourMetricDataTTL;
|
||||
}
|
||||
|
||||
void setHourMetricDataTTL(int hourMetricDataTTL) {
|
||||
this.hourMetricDataTTL = hourMetricDataTTL;
|
||||
}
|
||||
|
||||
int getDayMetricDataTTL() {
|
||||
return dayMetricDataTTL;
|
||||
}
|
||||
|
||||
void setDayMetricDataTTL(int dayMetricDataTTL) {
|
||||
this.dayMetricDataTTL = dayMetricDataTTL;
|
||||
}
|
||||
|
||||
int getMonthMetricDataTTL() {
|
||||
return monthMetricDataTTL;
|
||||
}
|
||||
|
||||
void setMonthMetricDataTTL(int monthMetricDataTTL) {
|
||||
this.monthMetricDataTTL = monthMetricDataTTL;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,233 +19,56 @@
|
|||
package org.apache.skywalking.apm.collector.storage.es;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.apache.skywalking.apm.collector.client.ClientException;
|
||||
import org.apache.skywalking.apm.collector.client.NameSpace;
|
||||
import org.apache.skywalking.apm.collector.client.*;
|
||||
import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
||||
import org.apache.skywalking.apm.collector.cluster.ClusterModule;
|
||||
import org.apache.skywalking.apm.collector.cluster.service.ModuleListenerService;
|
||||
import org.apache.skywalking.apm.collector.cluster.service.ModuleRegisterService;
|
||||
import org.apache.skywalking.apm.collector.cluster.service.*;
|
||||
import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.ICollectorConfig;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleDefine;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleStartException;
|
||||
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
|
||||
import org.apache.skywalking.apm.collector.core.module.*;
|
||||
import org.apache.skywalking.apm.collector.remote.RemoteModule;
|
||||
import org.apache.skywalking.apm.collector.storage.StorageException;
|
||||
import org.apache.skywalking.apm.collector.storage.StorageModule;
|
||||
import org.apache.skywalking.apm.collector.storage.*;
|
||||
import org.apache.skywalking.apm.collector.storage.base.dao.IBatchDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IGlobalTracePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IInstanceHeartBeatPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ISegmentDurationPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ISegmentPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentDayPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentHourPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentMinutePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentMonthPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationAlarmListDayPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationAlarmListHourPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationAlarmListMinutePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationAlarmListMonthPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationReferenceAlarmListPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IApplicationReferenceAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IInstanceAlarmListPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IInstanceAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IInstanceReferenceAlarmListPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IInstanceReferenceAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IServiceAlarmListPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IServiceAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IServiceReferenceAlarmListPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.IServiceReferenceAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.amp.IApplicationDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.amp.IApplicationHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.amp.IApplicationMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.amp.IApplicationMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ampp.IApplicationMappingDayPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ampp.IApplicationMappingHourPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ampp.IApplicationMappingMinutePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ampp.IApplicationMappingMonthPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cache.IApplicationCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cache.IInstanceCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cache.INetworkAddressCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cache.IServiceNameCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cpu.ICpuDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cpu.ICpuHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cpu.ICpuMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cpu.ICpuMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.gc.IGCDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.gc.IGCHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.gc.IGCMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.gc.IGCMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.imp.IInstanceDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.imp.IInstanceHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.imp.IInstanceMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.imp.IInstanceMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.impp.IInstanceMappingDayPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.impp.IInstanceMappingHourPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.impp.IInstanceMappingMinutePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.impp.IInstanceMappingMonthPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.memory.IMemoryDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.memory.IMemoryHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.memory.IMemoryMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.memory.IMemoryMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.mpool.IMemoryPoolDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.mpool.IMemoryPoolHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.mpool.IMemoryPoolMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.mpool.IMemoryPoolMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.register.IApplicationRegisterDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.register.IInstanceRegisterDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.register.INetworkAddressRegisterDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.register.IServiceNameRegisterDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.rtd.IResponseTimeDistributionDayPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.rtd.IResponseTimeDistributionHourPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.rtd.IResponseTimeDistributionMinutePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.rtd.IResponseTimeDistributionMonthPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.smp.IServiceDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.smp.IServiceHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.smp.IServiceMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.smp.IServiceMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceDayMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceHourMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceMinuteMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceMonthMetricPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IApplicationAlarmListUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IApplicationAlarmUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IApplicationComponentUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IApplicationMappingUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IApplicationMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IApplicationReferenceMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.ICpuMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IGCMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IGlobalTraceUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IInstanceAlarmUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IInstanceMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IInstanceUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IMemoryMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.INetworkAddressUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IResponseTimeDistributionUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.ISegmentDurationUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.ISegmentUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IServiceAlarmUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IServiceMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IServiceNameServiceUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IServiceReferenceMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.acp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.alarm.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.amp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ampp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.armp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cache.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.cpu.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.gc.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.imp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.impp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.irmp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.memory.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.mpool.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.register.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.rtd.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.smp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.srmp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.BatchEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.define.ElasticSearchStorageInstaller;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.GlobalTraceEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.InstanceHeartBeatEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.SegmentDurationEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.SegmentEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.acp.ApplicationComponentDayEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.acp.ApplicationComponentHourEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.acp.ApplicationComponentMinuteEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.acp.ApplicationComponentMonthEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationAlarmEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationAlarmListEsDayPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationAlarmListEsHourPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationAlarmListEsMinutePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationAlarmListEsMonthPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationReferenceAlarmEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ApplicationReferenceAlarmListEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.InstanceAlarmEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.InstanceAlarmListEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.InstanceReferenceAlarmEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.InstanceReferenceAlarmListEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ServiceAlarmEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ServiceAlarmListEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ServiceReferenceAlarmEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.ServiceReferenceAlarmListEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.amp.ApplicationDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.amp.ApplicationHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.amp.ApplicationMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.amp.ApplicationMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ampp.ApplicationMappingDayEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ampp.ApplicationMappingHourEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ampp.ApplicationMappingMinuteEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ampp.ApplicationMappingMonthEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.armp.ApplicationReferenceDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.armp.ApplicationReferenceHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.armp.ApplicationReferenceMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.armp.ApplicationReferenceMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cache.ApplicationEsCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cache.InstanceEsCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cache.NetworkAddressEsCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cache.ServiceNameEsCacheDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cpu.CpuDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cpu.CpuHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cpu.CpuMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cpu.CpuMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.gc.GCDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.gc.GCHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.gc.GCMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.gc.GCMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.imp.InstanceDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.imp.InstanceHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.imp.InstanceMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.imp.InstanceMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.impp.InstanceMappingDayEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.impp.InstanceMappingHourEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.impp.InstanceMappingMinuteEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.impp.InstanceMappingMonthEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.irmp.InstanceReferenceDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.irmp.InstanceReferenceHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.irmp.InstanceReferenceMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.irmp.InstanceReferenceMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.memory.MemoryDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.memory.MemoryHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.memory.MemoryMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.memory.MemoryMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.mpool.MemoryPoolDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.mpool.MemoryPoolHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.mpool.MemoryPoolMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.mpool.MemoryPoolMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.register.ApplicationRegisterEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.register.InstanceRegisterEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.register.NetworkAddressRegisterEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.register.ServiceNameRegisterEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.rtd.ResponseTimeDistributionDayEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.rtd.ResponseTimeDistributionHourEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.rtd.ResponseTimeDistributionMinuteEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.rtd.ResponseTimeDistributionMonthEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.smp.ServiceDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.smp.ServiceHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.smp.ServiceMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.smp.ServiceMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.srmp.ServiceReferenceDayMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.srmp.ServiceReferenceHourMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.srmp.ServiceReferenceMinuteMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.srmp.ServiceReferenceMonthMetricEsPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ApplicationAlarmEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ApplicationAlarmListEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ApplicationComponentEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ApplicationMappingEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ApplicationMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ApplicationReferenceMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.CpuMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.GCMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.GlobalTraceEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.InstanceAlarmEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.InstanceEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.InstanceMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.MemoryMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.NetworkAddressEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ResponseTimeDistributionEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.SegmentDurationEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.SegmentEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ServiceAlarmEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ServiceMetricEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ServiceNameServiceEsUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.ServiceReferenceEsMetricUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.acp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.alarm.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.amp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ampp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.armp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cache.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.cpu.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.gc.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.imp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.impp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.irmp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.memory.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.mpool.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.register.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.rtd.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.smp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.srmp.*;
|
||||
import org.apache.skywalking.apm.collector.storage.es.dao.ui.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
|
|
@ -300,16 +123,21 @@ public class StorageModuleEsProvider extends ModuleProvider {
|
|||
throw new ModuleStartException(e.getMessage(), e);
|
||||
}
|
||||
|
||||
String uuId = UUID.randomUUID().toString();
|
||||
ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class);
|
||||
moduleRegisterService.register(StorageModule.NAME, this.name(), new StorageModuleEsRegistration(uuId, 0));
|
||||
|
||||
StorageModuleEsRegistration esRegistration = new StorageModuleEsRegistration(UUID.randomUUID().toString(), 0);
|
||||
moduleRegisterService.register(StorageModule.NAME, this.name(), esRegistration);
|
||||
|
||||
StorageModuleEsNamingListener namingListener = new StorageModuleEsNamingListener();
|
||||
ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class);
|
||||
moduleListenerService.addListener(namingListener);
|
||||
|
||||
Integer beforeDay = config.getTtl() == 0 ? 3 : config.getTtl();
|
||||
deleteTimer = new DataTTLKeeperTimer(getManager(), namingListener, uuId + 0, beforeDay);
|
||||
deleteTimer = new DataTTLKeeperTimer(getManager(), namingListener, esRegistration.buildValue().getHostPort());
|
||||
deleteTimer.setTraceDataTTL(config.getTraceDataTTL());
|
||||
deleteTimer.setMinuteMetricDataTTL(config.getMinuteMetricDataTTL());
|
||||
deleteTimer.setHourMetricDataTTL(config.getHourMetricDataTTL());
|
||||
deleteTimer.setDayMetricDataTTL(config.getDayMetricDataTTL());
|
||||
deleteTimer.setMonthMetricDataTTL(config.getMonthMetricDataTTL());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@ import org.elasticsearch.action.index.IndexRequestBuilder;
|
|||
import org.elasticsearch.action.update.UpdateRequestBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.reindex.BulkByScrollResponse;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
|
|
@ -74,9 +73,9 @@ public abstract class AbstractPersistenceEsDAO<STREAM_DATA extends StreamData> e
|
|||
protected abstract String timeBucketColumnNameForDelete();
|
||||
|
||||
@Override
|
||||
public final void deleteHistory(Long startTimeBucket, Long endTimeBucket) {
|
||||
public final void deleteHistory(Long timeBucketBefore) {
|
||||
BulkByScrollResponse response = getClient().prepareDelete(
|
||||
QueryBuilders.rangeQuery(timeBucketColumnNameForDelete()).gte(startTimeBucket).lte(endTimeBucket),
|
||||
QueryBuilders.rangeQuery(timeBucketColumnNameForDelete()).lte(timeBucketBefore),
|
||||
tableName())
|
||||
.get();
|
||||
|
||||
|
|
|
|||
|
|
@ -18,64 +18,50 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.es.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
||||
import org.apache.skywalking.apm.collector.core.UnexpectedException;
|
||||
import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils;
|
||||
import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IGlobalTracePersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.global.GlobalTrace;
|
||||
import org.apache.skywalking.apm.collector.storage.table.global.GlobalTraceTable;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.global.*;
|
||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
||||
import org.elasticsearch.action.update.UpdateRequestBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.reindex.BulkByScrollResponse;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class GlobalTraceEsPersistenceDAO extends EsDAO implements IGlobalTracePersistenceDAO<IndexRequestBuilder, UpdateRequestBuilder, GlobalTrace> {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(GlobalTraceEsPersistenceDAO.class);
|
||||
public class GlobalTraceEsPersistenceDAO extends AbstractPersistenceEsDAO<GlobalTrace> implements IGlobalTracePersistenceDAO<IndexRequestBuilder, UpdateRequestBuilder, GlobalTrace> {
|
||||
|
||||
public GlobalTraceEsPersistenceDAO(ElasticSearchClient client) {
|
||||
super(client);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GlobalTrace get(String id) {
|
||||
throw new UnexpectedException("There is no need to merge stream data with database data.");
|
||||
@Override protected String tableName() {
|
||||
return GlobalTraceTable.TABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateRequestBuilder prepareBatchUpdate(GlobalTrace data) {
|
||||
throw new UnexpectedException("There is no need to merge stream data with database data.");
|
||||
@Override protected GlobalTrace esDataToStreamData(Map<String, Object> source) {
|
||||
GlobalTrace globalTrace = new GlobalTrace();
|
||||
globalTrace.setSegmentId((String)source.get(GlobalTraceTable.SEGMENT_ID.getName()));
|
||||
globalTrace.setTraceId((String)source.get(GlobalTraceTable.TRACE_ID.getName()));
|
||||
globalTrace.setTimeBucket(((Number)source.get(GlobalTraceTable.TIME_BUCKET.getName())).longValue());
|
||||
return globalTrace;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IndexRequestBuilder prepareBatchInsert(GlobalTrace data) {
|
||||
@Override protected Map<String, Object> esStreamDataToEsData(GlobalTrace streamData) {
|
||||
Map<String, Object> target = new HashMap<>();
|
||||
target.put(GlobalTraceTable.SEGMENT_ID.getName(), data.getSegmentId());
|
||||
target.put(GlobalTraceTable.TRACE_ID.getName(), data.getGlobalTraceId());
|
||||
target.put(GlobalTraceTable.TIME_BUCKET.getName(), data.getTimeBucket());
|
||||
logger.debug("global trace source: {}", target.toString());
|
||||
return getClient().prepareIndex(GlobalTraceTable.TABLE, data.getId()).setSource(target);
|
||||
target.put(GlobalTraceTable.SEGMENT_ID.getName(), streamData.getSegmentId());
|
||||
target.put(GlobalTraceTable.TRACE_ID.getName(), streamData.getTraceId());
|
||||
target.put(GlobalTraceTable.TIME_BUCKET.getName(), streamData.getTimeBucket());
|
||||
return target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
long startTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(startTimestamp);
|
||||
long endTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(endTimestamp);
|
||||
BulkByScrollResponse response = getClient().prepareDelete(
|
||||
QueryBuilders.rangeQuery(GlobalTraceTable.TIME_BUCKET.getName()).gte(startTimeBucket).lte(endTimeBucket),
|
||||
GlobalTraceTable.TABLE)
|
||||
.get();
|
||||
@Override protected String timeBucketColumnNameForDelete() {
|
||||
return GlobalTraceTable.TIME_BUCKET.getName();
|
||||
}
|
||||
|
||||
long deleted = response.getDeleted();
|
||||
logger.info("Delete {} rows history from {} index.", deleted, GlobalTraceTable.TABLE);
|
||||
@GraphComputingMetric(name = "/persistence/get/" + GlobalTraceTable.TABLE)
|
||||
@Override public GlobalTrace get(String id) {
|
||||
return super.get(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,20 +18,17 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.es.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
||||
import org.apache.skywalking.apm.collector.core.UnexpectedException;
|
||||
import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IInstanceHeartBeatPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.register.Instance;
|
||||
import org.apache.skywalking.apm.collector.storage.table.register.InstanceTable;
|
||||
import org.apache.skywalking.apm.collector.storage.table.register.*;
|
||||
import org.elasticsearch.action.get.GetResponse;
|
||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
||||
import org.elasticsearch.action.update.UpdateRequestBuilder;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
|
|
@ -54,10 +51,10 @@ public class InstanceHeartBeatEsPersistenceDAO extends EsDAO implements IInstanc
|
|||
instance.setId(id);
|
||||
instance.setInstanceId(((Number)source.get(InstanceTable.INSTANCE_ID.getName())).intValue());
|
||||
instance.setHeartBeatTime(((Number)source.get(InstanceTable.HEARTBEAT_TIME.getName())).longValue());
|
||||
logger.debug("getApplicationId: {} is exists", id);
|
||||
logger.debug("instance id: {} exists", id);
|
||||
return instance;
|
||||
} else {
|
||||
logger.debug("getApplicationId: {} is not exists", id);
|
||||
logger.debug("instance id: {} not exists", id);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -72,6 +69,6 @@ public class InstanceHeartBeatEsPersistenceDAO extends EsDAO implements IInstanc
|
|||
return getClient().prepareUpdate(InstanceTable.TABLE, data.getId()).setDoc(source);
|
||||
}
|
||||
|
||||
@Override public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,21 +18,16 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.es.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
||||
import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ISegmentDurationPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDuration;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDurationTable;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.*;
|
||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
||||
import org.elasticsearch.action.update.UpdateRequestBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.reindex.BulkByScrollResponse;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
|
|
@ -57,7 +52,6 @@ public class SegmentDurationEsPersistenceDAO extends EsDAO implements ISegmentDu
|
|||
|
||||
@Override
|
||||
public IndexRequestBuilder prepareBatchInsert(SegmentDuration data) {
|
||||
logger.debug("segment cost prepareBatchInsert, getApplicationId: {}", data.getId());
|
||||
Map<String, Object> target = new HashMap<>();
|
||||
target.put(SegmentDurationTable.SEGMENT_ID.getName(), data.getSegmentId());
|
||||
target.put(SegmentDurationTable.APPLICATION_ID.getName(), data.getApplicationId());
|
||||
|
|
@ -67,18 +61,14 @@ public class SegmentDurationEsPersistenceDAO extends EsDAO implements ISegmentDu
|
|||
target.put(SegmentDurationTable.END_TIME.getName(), data.getEndTime());
|
||||
target.put(SegmentDurationTable.IS_ERROR.getName(), data.getIsError());
|
||||
target.put(SegmentDurationTable.TIME_BUCKET.getName(), data.getTimeBucket());
|
||||
logger.debug("segment cost source: {}", target.toString());
|
||||
return getClient().prepareIndex(SegmentDurationTable.TABLE, data.getId()).setSource(target);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
long startTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(startTimestamp);
|
||||
long endTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(endTimestamp);
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
BulkByScrollResponse response = getClient().prepareDelete(
|
||||
QueryBuilders.rangeQuery(SegmentDurationTable.TIME_BUCKET.getName()).gte(startTimeBucket).lte(endTimeBucket),
|
||||
SegmentDurationTable.TABLE)
|
||||
.get();
|
||||
QueryBuilders.rangeQuery(SegmentDurationTable.TIME_BUCKET.getName()).lte(timeBucketBefore * 100),
|
||||
SegmentDurationTable.TABLE)
|
||||
.get();
|
||||
|
||||
long deleted = response.getDeleted();
|
||||
logger.info("Delete {} rows history from {} index.", deleted, SegmentDurationTable.TABLE);
|
||||
|
|
|
|||
|
|
@ -18,62 +18,48 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.es.dao;
|
||||
|
||||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
||||
import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils;
|
||||
import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ISegmentPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.Segment;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentTable;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.*;
|
||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
||||
import org.elasticsearch.action.update.UpdateRequestBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.reindex.BulkByScrollResponse;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class SegmentEsPersistenceDAO extends EsDAO implements ISegmentPersistenceDAO<IndexRequestBuilder, UpdateRequestBuilder, Segment> {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SegmentEsPersistenceDAO.class);
|
||||
public class SegmentEsPersistenceDAO extends AbstractPersistenceEsDAO<Segment> implements ISegmentPersistenceDAO<IndexRequestBuilder, UpdateRequestBuilder, Segment> {
|
||||
|
||||
public SegmentEsPersistenceDAO(ElasticSearchClient client) {
|
||||
super(client);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Segment get(String id) {
|
||||
return null;
|
||||
@Override protected String tableName() {
|
||||
return SegmentTable.TABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateRequestBuilder prepareBatchUpdate(Segment data) {
|
||||
return null;
|
||||
@Override protected Segment esDataToStreamData(Map<String, Object> source) {
|
||||
Segment segment = new Segment();
|
||||
segment.setDataBinary(Base64.getDecoder().decode((String)source.get(SegmentTable.DATA_BINARY.getName())));
|
||||
segment.setTimeBucket(((Number)source.get(SegmentTable.TIME_BUCKET.getName())).longValue());
|
||||
return segment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IndexRequestBuilder prepareBatchInsert(Segment data) {
|
||||
@Override protected Map<String, Object> esStreamDataToEsData(Segment streamData) {
|
||||
Map<String, Object> target = new HashMap<>();
|
||||
target.put(SegmentTable.DATA_BINARY.getName(), new String(Base64.getEncoder().encode(data.getDataBinary())));
|
||||
target.put(SegmentTable.TIME_BUCKET.getName(), data.getTimeBucket());
|
||||
logger.debug("segment source: {}", target.toString());
|
||||
return getClient().prepareIndex(SegmentTable.TABLE, data.getId()).setSource(target);
|
||||
target.put(SegmentTable.DATA_BINARY.getName(), new String(Base64.getEncoder().encode(streamData.getDataBinary())));
|
||||
target.put(SegmentTable.TIME_BUCKET.getName(), streamData.getTimeBucket());
|
||||
return target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
long startTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(startTimestamp);
|
||||
long endTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(endTimestamp);
|
||||
BulkByScrollResponse response = getClient().prepareDelete(
|
||||
QueryBuilders.rangeQuery(SegmentTable.TIME_BUCKET.getName()).gte(startTimeBucket).lte(endTimeBucket),
|
||||
SegmentTable.TABLE)
|
||||
.get();
|
||||
@Override protected String timeBucketColumnNameForDelete() {
|
||||
return SegmentTable.TIME_BUCKET.getName();
|
||||
}
|
||||
|
||||
long deleted = response.getDeleted();
|
||||
logger.info("Delete {} rows history from {} index.", deleted, SegmentTable.TABLE);
|
||||
@GraphComputingMetric(name = "/persistence/get/" + SegmentTable.TABLE)
|
||||
@Override public Segment get(String id) {
|
||||
return super.get(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,23 +20,13 @@ package org.apache.skywalking.apm.collector.storage.es.dao.ui;
|
|||
|
||||
import java.util.List;
|
||||
import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
||||
import org.apache.skywalking.apm.collector.core.util.BooleanUtils;
|
||||
import org.apache.skywalking.apm.collector.core.util.CollectionUtils;
|
||||
import org.apache.skywalking.apm.collector.core.util.StringUtils;
|
||||
import org.apache.skywalking.apm.collector.core.util.*;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.ISegmentDurationUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDurationTable;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.BasicTrace;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.QueryOrder;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.TraceBrief;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.TraceState;
|
||||
import org.elasticsearch.action.search.SearchRequestBuilder;
|
||||
import org.elasticsearch.action.search.SearchResponse;
|
||||
import org.elasticsearch.action.search.SearchType;
|
||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.query.RangeQueryBuilder;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.*;
|
||||
import org.elasticsearch.action.search.*;
|
||||
import org.elasticsearch.index.query.*;
|
||||
import org.elasticsearch.search.SearchHit;
|
||||
import org.elasticsearch.search.sort.SortOrder;
|
||||
|
||||
|
|
@ -51,7 +41,8 @@ public class SegmentDurationEsUIDAO extends EsDAO implements ISegmentDurationUID
|
|||
|
||||
@Override
|
||||
public TraceBrief loadTop(long startSecondTimeBucket, long endSecondTimeBucket, long minDuration, long maxDuration,
|
||||
String operationName, int applicationId, int limit, int from, TraceState traceState, QueryOrder queryOrder, String... segmentIds) {
|
||||
String operationName, int applicationId, int limit, int from, TraceState traceState, QueryOrder queryOrder,
|
||||
String... segmentIds) {
|
||||
SearchRequestBuilder searchRequestBuilder = getClient().prepareSearch(SegmentDurationTable.TABLE);
|
||||
searchRequestBuilder.setTypes(SegmentDurationTable.TABLE_TYPE);
|
||||
searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH);
|
||||
|
|
@ -60,7 +51,6 @@ public class SegmentDurationEsUIDAO extends EsDAO implements ISegmentDurationUID
|
|||
List<QueryBuilder> mustQueryList = boolQueryBuilder.must();
|
||||
|
||||
if (startSecondTimeBucket != 0 && endSecondTimeBucket != 0) {
|
||||
//TODO second
|
||||
mustQueryList.add(QueryBuilders.rangeQuery(SegmentDurationTable.TIME_BUCKET.getName()).gte(startSecondTimeBucket).lte(endSecondTimeBucket));
|
||||
}
|
||||
|
||||
|
|
@ -95,8 +85,8 @@ public class SegmentDurationEsUIDAO extends EsDAO implements ISegmentDurationUID
|
|||
case BY_START_TIME:
|
||||
searchRequestBuilder.addSort(SegmentDurationTable.START_TIME.getName(), SortOrder.DESC);
|
||||
break;
|
||||
case
|
||||
BY_DURATION:searchRequestBuilder.addSort(SegmentDurationTable.DURATION.getName(), SortOrder.DESC);
|
||||
case BY_DURATION:
|
||||
searchRequestBuilder.addSort(SegmentDurationTable.DURATION.getName(), SortOrder.DESC);
|
||||
break;
|
||||
}
|
||||
searchRequestBuilder.setSize(limit);
|
||||
|
|
|
|||
|
|
@ -18,68 +18,35 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.es;
|
||||
|
||||
import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.*;
|
||||
import org.powermock.reflect.Whitebox;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class DataTTLKeeperTimerTestCase {
|
||||
|
||||
@Test
|
||||
public void testConvertTimeBucket() throws ParseException {
|
||||
DataTTLKeeperTimer timer = new DataTTLKeeperTimer(null, null, null, 8);
|
||||
DataTTLKeeperTimer.TimeBuckets timeBuckets = timer.convertTimeBucket();
|
||||
public void testConvertTimeBucket() {
|
||||
DataTTLKeeperTimer timer = new DataTTLKeeperTimer(null, null, null);
|
||||
|
||||
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(System.currentTimeMillis());
|
||||
long dayTimeBucket = TimeBucketUtils.INSTANCE.minuteToDay(minuteTimeBucket);
|
||||
DateTime currentTime = new DateTime(2018, 5, 26, 15, 5);
|
||||
DataTTLKeeperTimer.TimeBuckets timeBuckets = timer.convertTimeBucket(currentTime);
|
||||
|
||||
Date dayTimeBucketSource = new SimpleDateFormat("yyyyMMdd").parse(String.valueOf(dayTimeBucket));
|
||||
long traceDataBefore = Whitebox.getInternalState(timeBuckets, "traceDataBefore");
|
||||
Assert.assertEquals(201805261335L, traceDataBefore);
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(dayTimeBucketSource);
|
||||
calendar.add(Calendar.DAY_OF_MONTH, -8);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
long minuteTimeBucketBefore = Whitebox.getInternalState(timeBuckets, "minuteTimeBucketBefore");
|
||||
Assert.assertEquals(201805261335L, minuteTimeBucketBefore);
|
||||
|
||||
long newMinuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(calendar.getTimeInMillis());
|
||||
long newDayTimeBucket = TimeBucketUtils.INSTANCE.minuteToDay(newMinuteTimeBucket);
|
||||
long hourTimeBucketBefore = Whitebox.getInternalState(timeBuckets, "hourTimeBucketBefore");
|
||||
Assert.assertEquals(2018052503, hourTimeBucketBefore);
|
||||
|
||||
long startSecondTimeBucket = Whitebox.getInternalState(timeBuckets, "startSecondTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket * 1000000, startSecondTimeBucket);
|
||||
long dayTimeBucketBefore = Whitebox.getInternalState(timeBuckets, "dayTimeBucketBefore");
|
||||
Assert.assertEquals(20180411, dayTimeBucketBefore);
|
||||
|
||||
long endSecondTimeBucket = Whitebox.getInternalState(timeBuckets, "endSecondTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket * 1000000 + 235959, endSecondTimeBucket);
|
||||
|
||||
long startMinuteTimeBucket = Whitebox.getInternalState(timeBuckets, "startMinuteTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket * 10000, startMinuteTimeBucket);
|
||||
|
||||
long endMinuteTimeBucket = Whitebox.getInternalState(timeBuckets, "endMinuteTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket * 10000 + 2359, endMinuteTimeBucket);
|
||||
|
||||
long startHourTimeBucket = Whitebox.getInternalState(timeBuckets, "startHourTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket * 100, startHourTimeBucket);
|
||||
|
||||
long endHourTimeBucket = Whitebox.getInternalState(timeBuckets, "endHourTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket * 100 + 23, endHourTimeBucket);
|
||||
|
||||
long startDayTimeBucket = Whitebox.getInternalState(timeBuckets, "startDayTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket, startDayTimeBucket);
|
||||
|
||||
long endDayTimeBucket = Whitebox.getInternalState(timeBuckets, "endDayTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket, endDayTimeBucket);
|
||||
|
||||
long startMonthTimeBucket = Whitebox.getInternalState(timeBuckets, "startMonthTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket / 100, startMonthTimeBucket);
|
||||
|
||||
long endMonthTimeBucket = Whitebox.getInternalState(timeBuckets, "endMonthTimeBucket");
|
||||
Assert.assertEquals(newDayTimeBucket / 100, endMonthTimeBucket);
|
||||
long monthTimeBucketBefore = Whitebox.getInternalState(timeBuckets, "monthTimeBucketBefore");
|
||||
Assert.assertEquals(201611, monthTimeBucketBefore);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,6 +90,6 @@ public abstract class AbstractPersistenceH2DAO<STREAM_DATA extends StreamData> e
|
|||
return entity;
|
||||
}
|
||||
|
||||
@Override public final void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class GlobalTraceH2PersistenceDAO extends H2DAO implements IGlobalTracePe
|
|||
H2SqlEntity entity = new H2SqlEntity();
|
||||
target.put(GlobalTraceTable.ID.getName(), data.getId());
|
||||
target.put(GlobalTraceTable.SEGMENT_ID.getName(), data.getSegmentId());
|
||||
target.put(GlobalTraceTable.TRACE_ID.getName(), data.getGlobalTraceId());
|
||||
target.put(GlobalTraceTable.TRACE_ID.getName(), data.getTraceId());
|
||||
target.put(GlobalTraceTable.TIME_BUCKET.getName(), data.getTimeBucket());
|
||||
logger.debug("global trace source: {}", target.toString());
|
||||
|
||||
|
|
@ -65,6 +65,6 @@ public class GlobalTraceH2PersistenceDAO extends H2DAO implements IGlobalTracePe
|
|||
return entity;
|
||||
}
|
||||
|
||||
@Override public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,23 +18,16 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.h2.dao;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.apache.skywalking.apm.collector.client.h2.H2Client;
|
||||
import org.apache.skywalking.apm.collector.client.h2.H2ClientException;
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.h2.*;
|
||||
import org.apache.skywalking.apm.collector.core.UnexpectedException;
|
||||
import org.apache.skywalking.apm.collector.storage.base.sql.SqlBuilder;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IInstanceHeartBeatPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
|
||||
import org.apache.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
|
||||
import org.apache.skywalking.apm.collector.storage.table.register.Instance;
|
||||
import org.apache.skywalking.apm.collector.storage.table.register.InstanceTable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.skywalking.apm.collector.storage.table.register.*;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng, clevertension
|
||||
|
|
@ -83,6 +76,6 @@ public class InstanceHeartBeatH2PersistenceDAO extends H2DAO implements IInstanc
|
|||
return entity;
|
||||
}
|
||||
|
||||
@Override public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,17 +18,14 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.h2.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.h2.H2Client;
|
||||
import org.apache.skywalking.apm.collector.storage.base.sql.SqlBuilder;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ISegmentDurationPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
|
||||
import org.apache.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDuration;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDurationTable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.*;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng, clevertension
|
||||
|
|
@ -70,6 +67,6 @@ public class SegmentDurationH2PersistenceDAO extends H2DAO implements ISegmentDu
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,17 +18,14 @@
|
|||
|
||||
package org.apache.skywalking.apm.collector.storage.h2.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import org.apache.skywalking.apm.collector.client.h2.H2Client;
|
||||
import org.apache.skywalking.apm.collector.storage.base.sql.SqlBuilder;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ISegmentPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
|
||||
import org.apache.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.Segment;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.SegmentTable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.skywalking.apm.collector.storage.table.segment.*;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng, clevertension
|
||||
|
|
@ -63,6 +60,6 @@ public class SegmentH2PersistenceDAO extends H2DAO implements ISegmentPersistenc
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override public void deleteHistory(Long startTimestamp, Long endTimestamp) {
|
||||
@Override public void deleteHistory(Long timeBucketBefore) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,19 +20,13 @@ package org.apache.skywalking.apm.collector.ui.query;
|
|||
|
||||
import org.apache.skywalking.apm.collector.core.UnexpectedException;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.core.util.Const;
|
||||
import org.apache.skywalking.apm.collector.core.util.StringUtils;
|
||||
import org.apache.skywalking.apm.collector.core.util.*;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.*;
|
||||
import org.apache.skywalking.apm.collector.ui.graphql.Query;
|
||||
import org.apache.skywalking.apm.collector.ui.service.SegmentTopService;
|
||||
import org.apache.skywalking.apm.collector.ui.service.TraceStackService;
|
||||
import org.apache.skywalking.apm.collector.ui.utils.DurationUtils;
|
||||
import org.apache.skywalking.apm.collector.ui.utils.PaginationUtils;
|
||||
import org.apache.skywalking.apm.collector.ui.service.*;
|
||||
import org.apache.skywalking.apm.collector.ui.utils.*;
|
||||
|
||||
import java.text.ParseException;
|
||||
|
||||
import static java.util.Objects.isNull;
|
||||
import static java.util.Objects.nonNull;
|
||||
import static java.util.Objects.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
|
|
@ -61,7 +55,7 @@ public class TraceQuery implements Query {
|
|||
return traceStackService;
|
||||
}
|
||||
|
||||
public TraceBrief queryBasicTraces(TraceQueryCondition condition) throws ParseException {
|
||||
public TraceBrief queryBasicTraces(TraceQueryCondition condition) {
|
||||
long startSecondTimeBucket = 0;
|
||||
long endSecondTimeBucket = 0;
|
||||
String traceId = Const.EMPTY_STRING;
|
||||
|
|
@ -83,7 +77,7 @@ public class TraceQuery implements Query {
|
|||
QueryOrder queryOrder = condition.getQueryOrder();
|
||||
|
||||
PaginationUtils.Page page = PaginationUtils.INSTANCE.exchange(condition.getPaging());
|
||||
return getSegmentTopService().loadTop(startSecondTimeBucket, endSecondTimeBucket, minDuration, maxDuration, operationName, traceId, applicationId, page.getLimit(), page.getFrom(),traceState,queryOrder);
|
||||
return getSegmentTopService().loadTop(startSecondTimeBucket, endSecondTimeBucket, minDuration, maxDuration, operationName, traceId, applicationId, page.getLimit(), page.getFrom(), traceState, queryOrder);
|
||||
}
|
||||
|
||||
public Trace queryTrace(String traceId) {
|
||||
|
|
|
|||
|
|
@ -20,16 +20,11 @@ package org.apache.skywalking.apm.collector.ui.service;
|
|||
|
||||
import java.util.List;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.core.util.CollectionUtils;
|
||||
import org.apache.skywalking.apm.collector.core.util.StringUtils;
|
||||
import org.apache.skywalking.apm.collector.core.util.*;
|
||||
import org.apache.skywalking.apm.collector.storage.StorageModule;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.IGlobalTraceUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.ISegmentDurationUIDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.QueryOrder;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.TraceBrief;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.TraceState;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.ui.*;
|
||||
import org.apache.skywalking.apm.collector.storage.ui.trace.*;
|
||||
import org.slf4j.*;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
|
|
@ -47,12 +42,12 @@ public class SegmentTopService {
|
|||
}
|
||||
|
||||
public TraceBrief loadTop(long startSecondTimeBucket, long endSecondTimeBucket, long minDuration, long maxDuration,
|
||||
String operationName,
|
||||
String traceId, int applicationId, int limit, int from, TraceState traceState, QueryOrder queryOrder) {
|
||||
String operationName,
|
||||
String traceId, int applicationId, int limit, int from, TraceState traceState, QueryOrder queryOrder) {
|
||||
logger.debug("startSecondTimeBucket: {}, endSecondTimeBucket: {}, minDuration: {}, " +
|
||||
"maxDuration: {}, operationName: {}, traceId: {}, applicationId: {}, limit: {}, from: {}, traceState: {}, queryOrder: {}",
|
||||
startSecondTimeBucket, endSecondTimeBucket, minDuration,
|
||||
maxDuration, operationName, traceId, applicationId, limit, from,traceState,queryOrder);
|
||||
maxDuration, operationName, traceId, applicationId, limit, from, traceState, queryOrder);
|
||||
|
||||
TraceBrief traceBrief;
|
||||
if (StringUtils.isNotEmpty(traceId)) {
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@ cluster:
|
|||
sessionTimeout: 100000
|
||||
naming:
|
||||
# 配置探针使用的host和port
|
||||
jetty:
|
||||
jetty:
|
||||
host: localhost
|
||||
port: 10800
|
||||
context_path: /
|
||||
contextPath: /
|
||||
remote:
|
||||
gRPC:
|
||||
host: localhost
|
||||
|
|
@ -54,30 +54,50 @@ agent_jetty:
|
|||
jetty:
|
||||
host: localhost
|
||||
port: 12800
|
||||
context_path: /
|
||||
contextPath: /
|
||||
analysis_register:
|
||||
default:
|
||||
analysis_jvm:
|
||||
default:
|
||||
analysis_segment_parser:
|
||||
default:
|
||||
buffer_file_path: ../buffer/
|
||||
buffer_offset_max_file_size: 10M
|
||||
buffer_segment_max_file_size: 500M
|
||||
bufferFilePath: ../buffer/
|
||||
bufferOffsetMaxFileSize: 10M
|
||||
bufferSegmentMaxFileSize: 500M
|
||||
ui:
|
||||
jetty:
|
||||
host: localhost
|
||||
port: 12800
|
||||
context_path: /
|
||||
contextPath: /
|
||||
# 配置 Elasticsearch 集群连接信息
|
||||
storage:
|
||||
elasticsearch:
|
||||
cluster_name: CollectorDBCluster
|
||||
cluster_transport_sniffer: true
|
||||
cluster_nodes: localhost:9300
|
||||
index_shards_number: 2
|
||||
index_replicas_number: 0
|
||||
ttl: 7
|
||||
clusterName: CollectorDBCluster
|
||||
clusterTransportSniffer: true
|
||||
clusterNodes: localhost:9300
|
||||
indexShardsNumber: 2
|
||||
indexReplicasNumber: 0
|
||||
highPerformanceMode: true
|
||||
# 设置统计指标数据的失效时间,当指标数据失效时系统将数据自动删除.
|
||||
traceDataTTL: 90 # 单位为分
|
||||
minuteMetricDataTTL: 90 # 单位为分
|
||||
hourMetricDataTTL: 36 # 单位为小时
|
||||
dayMetricDataTTL: 45 # 单位为天
|
||||
monthMetricDataTTL: 18 # 单位为月
|
||||
configuration:
|
||||
default:
|
||||
# namespace: xxxxx
|
||||
# 告警阀值
|
||||
applicationApdexThreshold: 2000
|
||||
serviceErrorRateThreshold: 10.00
|
||||
serviceAverageResponseTimeThreshold: 2000
|
||||
instanceErrorRateThreshold: 10.00
|
||||
instanceAverageResponseTimeThreshold: 2000
|
||||
applicationErrorRateThreshold: 10.00
|
||||
applicationAverageResponseTimeThreshold: 2000
|
||||
# 热力图配置,修改配置后需要删除热力指标统计表,由系统重建
|
||||
thermodynamicResponseTimeStep: 50
|
||||
thermodynamicCountOfResponseTimeSteps: 40
|
||||
```
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ cluster:
|
|||
sessionTimeout: 100000
|
||||
naming:
|
||||
# Host and port used for agent config
|
||||
jetty:
|
||||
host: localhost
|
||||
port: 10800
|
||||
contextPath: /
|
||||
jetty:
|
||||
host: localhost
|
||||
port: 10800
|
||||
contextPath: /
|
||||
remote:
|
||||
gRPC:
|
||||
host: localhost
|
||||
|
|
@ -76,10 +76,17 @@ storage:
|
|||
clusterNodes: localhost:9300
|
||||
indexShardsNumber: 2
|
||||
indexReplicasNumber: 0
|
||||
ttl: 7
|
||||
highPerformanceMode: true
|
||||
# Set a timeout on metric data. After the timeout has expired, the metric data will automatically be deleted.
|
||||
traceDataTTL: 90 # Unit is minute
|
||||
minuteMetricDataTTL: 45 # Unit is minute
|
||||
hourMetricDataTTL: 36 # Unit is hour
|
||||
dayMetricDataTTL: 45 # Unit is day
|
||||
monthMetricDataTTL: 18 # Unit is month
|
||||
configuration:
|
||||
default:
|
||||
# namespace: xxxxx
|
||||
# alarm threshold
|
||||
applicationApdexThreshold: 2000
|
||||
serviceErrorRateThreshold: 10.00
|
||||
serviceAverageResponseTimeThreshold: 2000
|
||||
|
|
@ -87,6 +94,9 @@ configuration:
|
|||
instanceAverageResponseTimeThreshold: 2000
|
||||
applicationErrorRateThreshold: 10.00
|
||||
applicationAverageResponseTimeThreshold: 2000
|
||||
# thermodynamic
|
||||
thermodynamicResponseTimeStep: 50
|
||||
thermodynamicCountOfResponseTimeSteps: 40
|
||||
```
|
||||
|
||||
3. Run `bin/collectorService.sh`
|
||||
|
|
|
|||
Loading…
Reference in New Issue