| 
					
				 | 
			
			
				@@ -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)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 |