|
@@ -13,6 +13,7 @@ import com.jjt.common.utils.StringUtils;
|
|
|
import com.jjt.hl.domain.HlEvent;
|
|
|
import com.jjt.hl.mapper.HlEventMapper;
|
|
|
import com.jjt.hl.service.IHlEventService;
|
|
|
+import com.jjt.system.service.ISysConfigService;
|
|
|
import org.apache.ibatis.session.ExecutorType;
|
|
|
import org.apache.ibatis.session.SqlSession;
|
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
@@ -22,7 +23,6 @@ import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
-import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -57,6 +57,8 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
private IBizObjMetricsDataService metricsDataService;
|
|
|
@Resource
|
|
|
private IHlEventService eventService;
|
|
|
+ @Resource
|
|
|
+ private ISysConfigService configService;
|
|
|
|
|
|
/**
|
|
|
* 查询业务对象指标
|
|
@@ -311,9 +313,10 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
BizObjApp app = appService.selectBizObjAppByAppId(bizObj.getAppId());
|
|
|
String appName = app.getAppCode();
|
|
|
|
|
|
+ Long time = Long.parseLong(configService.selectConfigByKey("pp.api.time"));
|
|
|
LocalDateTime endTime = LocalDateTime.now();
|
|
|
- LocalDateTime startTime = endTime.minusDays(2);
|
|
|
- //TODO 暂时取2天的值,不然难得搞
|
|
|
+
|
|
|
+ LocalDateTime startTime = endTime.minusMinutes(time);
|
|
|
Map<String, String> appMap = pinpointService.getApps();
|
|
|
String appType = appMap.get(appName);
|
|
|
|
|
@@ -665,7 +668,7 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
* @param date 时间
|
|
|
*/
|
|
|
private void updateLinkMetrics(Long objId, List<PinpointVO> pinpointVOList, Date date) {
|
|
|
- Map<String, BizObjMetrics> metricsMap = getAllMetricsForObjId(objId);
|
|
|
+ Map<String, List<BizObjMetrics>> metricsMap = getAllMetricsForObjId(objId);
|
|
|
pinpointVOList.forEach(vo -> updateMetricsValues(metricsMap, vo, date));
|
|
|
}
|
|
|
|
|
@@ -677,10 +680,11 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
* @param vo pp链路对象
|
|
|
* @param date 时间
|
|
|
*/
|
|
|
- private void updateMetricsValues(Map<String, BizObjMetrics> metricsMap, PinpointVO vo, Date date) {
|
|
|
- metricsMap.values().stream()
|
|
|
- .filter(om -> om.getMetricsCode().startsWith(vo.getApplicationName() + "/"))
|
|
|
- .forEach(om -> {
|
|
|
+ private void updateMetricsValues(Map<String, List<BizObjMetrics>> metricsMap, PinpointVO vo, Date date) {
|
|
|
+ for (String code : metricsMap.keySet()) {
|
|
|
+ List<BizObjMetrics> list = metricsMap.get(code);
|
|
|
+ list.forEach(om -> {
|
|
|
+ if (om.getMetricsCode().startsWith(vo.getApplicationName() + "/")) {
|
|
|
updateMetric(om, "pp.1s", vo.getTime1s(), date);
|
|
|
updateMetric(om, "pp.3s", vo.getTime3s(), date);
|
|
|
updateMetric(om, "pp.5s", vo.getTime5s(), date);
|
|
@@ -693,7 +697,25 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
updateMetric(om, "pp.avg", vo.getAvg(), date);
|
|
|
updateMetric(om, "pp.slow", vo.getSlow(), date);
|
|
|
updateMetric(om, "pp.error", vo.getError(), date);
|
|
|
- });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+// metricsMap.values().stream()
|
|
|
+// .filter(om -> om.getMetricsCode().startsWith(vo.getApplicationName() + "/"))
|
|
|
+// .forEach(om -> {
|
|
|
+// updateMetric(om, "pp.1s", vo.getTime1s(), date);
|
|
|
+// updateMetric(om, "pp.3s", vo.getTime3s(), date);
|
|
|
+// updateMetric(om, "pp.5s", vo.getTime5s(), date);
|
|
|
+// updateMetric(om, "pp.100ms", vo.getTime100ms(), date);
|
|
|
+// updateMetric(om, "pp.300ms", vo.getTime300ms(), date);
|
|
|
+// updateMetric(om, "pp.500ms", vo.getTime500ms(), date);
|
|
|
+// updateMetric(om, "pp.tot", vo.getTot(), date);
|
|
|
+// updateMetric(om, "pp.sum", vo.getSum(), date);
|
|
|
+// updateMetric(om, "pp.max", vo.getMax(), date);
|
|
|
+// updateMetric(om, "pp.avg", vo.getAvg(), date);
|
|
|
+// updateMetric(om, "pp.slow", vo.getSlow(), date);
|
|
|
+// updateMetric(om, "pp.error", vo.getError(), date);
|
|
|
+// });
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -722,9 +744,8 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
* @param objId 对象ID
|
|
|
* @return map
|
|
|
*/
|
|
|
- private Map<String, BizObjMetrics> getAllMetricsForObjId(Long objId) {
|
|
|
- return getAllMetricsForObjIdList(objId).stream()
|
|
|
- .collect(Collectors.toMap(BizObjMetrics::getMetricsCode, Function.identity()));
|
|
|
+ private Map<String, List<BizObjMetrics>> getAllMetricsForObjId(Long objId) {
|
|
|
+ return getAllMetricsForObjIdList(objId).stream().collect(Collectors.groupingBy(BizObjMetrics::getMetricsCode));
|
|
|
}
|
|
|
|
|
|
/**
|