WANG 5 tahun lalu
induk
melakukan
6d52c6d9e7

+ 5 - 4
src/main/java/cn/com/qmth/examcloud/web/actuator/ApiStatusInfoHolder.java

@@ -65,10 +65,11 @@ public class ApiStatusInfoHolder implements ApplicationRunner {
 		running.set(true);
 		try {
 			ReportorHolder.getApiDataReportor().report();
-			List<ReportInfo> reportInfoList = ReportorHolder.getApiDataReportor()
-					.getReportInfoList();
 
-			ReportInfo reportInfo = reportInfoList.get(0);
+			Util.sleep(TimeUnit.MILLISECONDS, 500);
+
+			ReportInfo reportInfo = ReportorHolder.getApiDataReportor().getReportInfo();
+
 			ApiStatusInfoCollector apiStatusInfoCollector = SpringContextHolder
 					.getBean(ApiStatusInfoCollector.class);
 			apiStatusInfoList = apiStatusInfoCollector.collect(reportInfo);
@@ -81,7 +82,7 @@ public class ApiStatusInfoHolder implements ApplicationRunner {
 		} catch (Exception e) {
 			LOG.info(trace + " [ApiStatus]. fail to refresh API status", e);
 		}
-		Util.sleep(TimeUnit.MILLISECONDS, 500);
+
 		running.set(false);
 		LOG.info(trace + " [ApiStatus]. OVER");
 	}

+ 4 - 10
src/main/java/cn/com/qmth/examcloud/web/actuator/DataReportor.java

@@ -106,9 +106,7 @@ public class DataReportor extends ScheduledReporter {
 
 	private final Clock clock;
 
-	private List<ReportInfo> reportInfoList = Lists.newArrayList();
-
-	private int maxReportInfoSize = 10;
+	private ReportInfo reportInfo;
 
 	private DataReportor(MetricRegistry registry, Clock clock, TimeUnit rateUnit,
 			TimeUnit durationUnit, MetricFilter filter, ScheduledExecutorService executor,
@@ -155,11 +153,7 @@ public class DataReportor extends ScheduledReporter {
 			}
 		}
 
-		if (reportInfoList.size() >= maxReportInfoSize) {
-			reportInfoList = reportInfoList.subList(0, maxReportInfoSize);
-		}
-
-		reportInfoList.add(0, info);
+		reportInfo = info;
 	}
 
 	private MeterInfo getMeterInfo(String key, Meter meter) {
@@ -285,8 +279,8 @@ public class DataReportor extends ScheduledReporter {
 		return !getDisabledMetricAttributes().contains(type);
 	}
 
-	public List<ReportInfo> getReportInfoList() {
-		return reportInfoList;
+	public ReportInfo getReportInfo() {
+		return reportInfo;
 	}
 
 }