|
@@ -835,11 +835,14 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
List<AlarmRecord> updateRList = new ArrayList<>();
|
|
|
List<HlEvent> addEList = new ArrayList<>();
|
|
|
List<HlEvent> updateEList = new ArrayList<>();
|
|
|
+ List<BizObjMetrics> updateList = new ArrayList<>();
|
|
|
omList.stream()
|
|
|
.filter(om -> om.getMetricsCode().endsWith(metricSuffix) && om.getMetricsName().startsWith(agentId + "/"))
|
|
|
.forEach(om -> {
|
|
|
om.setDValue(value);
|
|
|
- updateBizObjMetrics(om);
|
|
|
+ om.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ updateList.add(om);
|
|
|
+// updateBizObjMetrics(om);
|
|
|
BizObjMetricsData data = new BizObjMetricsData();
|
|
|
data.setObjMetricsId(om.getObjMetricsId());
|
|
|
data.setCreateTime(date);
|
|
@@ -863,7 +866,7 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
updateEList.add(eMap.get("update"));
|
|
|
}
|
|
|
});
|
|
|
- batchUpdate(null, dataList, addRList, updateRList, addEList, updateEList);
|
|
|
+ batchUpdate(updateList, dataList, addRList, updateRList, addEList, updateEList);
|
|
|
}
|
|
|
|
|
|
private void batchUpdate
|
|
@@ -920,6 +923,7 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
private void updateMetricsValues(Map<String, List<BizObjMetrics>> metricsMap, PinpointVO vo, Date
|
|
|
date, Map<Long, AlarmRecord> recordMap, Map<Long, HlEvent> eventMap) {
|
|
|
List<BizObjMetricsData> dataList = new ArrayList<>();
|
|
|
+ List<BizObjMetrics> updateList = new ArrayList<>();
|
|
|
List<AlarmRecord> addRList = new ArrayList<>();
|
|
|
List<AlarmRecord> updateRList = new ArrayList<>();
|
|
|
List<HlEvent> addEList = new ArrayList<>();
|
|
@@ -929,24 +933,24 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
list.forEach(om -> {
|
|
|
if (om.getMetricsName().startsWith(vo.getCategory() + "/")) {
|
|
|
if (vo.getTot() != 0) {
|
|
|
- updateMetric(om, "pp.1s", vo.getTime1s(), date, dataList);
|
|
|
- updateMetric(om, "pp.3s", vo.getTime3s(), date, dataList);
|
|
|
- updateMetric(om, "pp.5s", vo.getTime5s(), date, dataList);
|
|
|
- updateMetric(om, "pp.100ms", vo.getTime100ms(), date, dataList);
|
|
|
- updateMetric(om, "pp.300ms", vo.getTime300ms(), date, dataList);
|
|
|
- updateMetric(om, "pp.500ms", vo.getTime500ms(), date, dataList);
|
|
|
- updateMetric(om, "pp.tot", vo.getTot(), date, dataList);
|
|
|
- updateMetric(om, "pp.sum", vo.getSum(), date, dataList);
|
|
|
- updateMetric(om, "pp.max", vo.getMax(), date, dataList);
|
|
|
- updateMetric(om, "pp.avg", vo.getAvg(), date, dataList);
|
|
|
- updateMetric(om, "pp.slow", vo.getSlow(), date, dataList);
|
|
|
- updateMetric(om, "pp.error", vo.getError(), date, dataList);
|
|
|
+ updateMetric(om, "pp.1s", vo.getTime1s(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.3s", vo.getTime3s(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.5s", vo.getTime5s(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.100ms", vo.getTime100ms(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.300ms", vo.getTime300ms(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.500ms", vo.getTime500ms(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.tot", vo.getTot(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.sum", vo.getSum(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.max", vo.getMax(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.avg", vo.getAvg(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.slow", vo.getSlow(), date, dataList, updateList);
|
|
|
+ updateMetric(om, "pp.error", vo.getError(), date, dataList, updateList);
|
|
|
Integer time1 = vo.getTime1s();
|
|
|
if (time1 == null) {
|
|
|
time1 = vo.getTime100ms();
|
|
|
}
|
|
|
BigDecimal rate = BigDecimal.valueOf(time1).divide(BigDecimal.valueOf(vo.getTot()), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
- updateMetric(om, "pp.rate", rate, date, dataList);
|
|
|
+ updateMetric(om, "pp.rate", rate, date, dataList, updateList);
|
|
|
if (om.getDValue() != null) {
|
|
|
//处理告警
|
|
|
Map<String, AlarmRecord> aMap = alarmRecordService.process(om, recordMap, date);
|
|
@@ -970,7 +974,7 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- batchUpdate(null, dataList, addRList, updateRList, addEList, updateEList);
|
|
|
+ batchUpdate(updateList, dataList, addRList, updateRList, addEList, updateEList);
|
|
|
// metricsMap.values().stream()
|
|
|
// .filter(om -> om.getMetricsCode().startsWith(vo.getApplicationName() + "/"))
|
|
|
// .forEach(om -> {
|
|
@@ -998,10 +1002,12 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
* @param date 时间
|
|
|
*/
|
|
|
private void updateMetric(BizObjMetrics om, String suffix, Number value, Date
|
|
|
- date, List<BizObjMetricsData> dataList) {
|
|
|
+ date, List<BizObjMetricsData> dataList, List<BizObjMetrics> updateList) {
|
|
|
if (om.getMetricsCode().endsWith(suffix) && value != null) {
|
|
|
om.setDValue(BigDecimal.valueOf(value.doubleValue()));
|
|
|
- updateBizObjMetrics(om);
|
|
|
+ om.setUpdateTime(new Date());
|
|
|
+ updateList.add(om);
|
|
|
+// updateBizObjMetrics(om);
|
|
|
|
|
|
BizObjMetricsData data = new BizObjMetricsData();
|
|
|
data.setObjMetricsId(om.getObjMetricsId());
|