WANG il y a 6 ans
Parent
commit
3faeb16fa9

+ 4 - 3
src/main/java/cn/com/qmth/examcloud/web/actuator/ApiStatusEndpoint.java

@@ -29,6 +29,7 @@ public class ApiStatusEndpoint {
 	public Map<String, Object> endpoint() {
 
 		ReportorHolder.getApiDataReportor().report();
+		ReportorHolder.getConsoleReporter().report();
 		List<ReportInfo> reportInfoList = ReportorHolder.getApiDataReportor().getReportInfoList();
 
 		ReportInfo reportInfo = reportInfoList.get(0);
@@ -42,7 +43,7 @@ public class ApiStatusEndpoint {
 			if (!key.startsWith(MetricNames.API_EXCEPTION_METER.name())) {
 				continue;
 			}
-			String mapping = key.substring(MetricNames.API_TIMER.name().length());
+			String mapping = key.substring(MetricNames.API_EXCEPTION_METER.name().length() + 1);
 			meterInfoMap.put(mapping, meterInfo);
 		}
 
@@ -54,7 +55,7 @@ public class ApiStatusEndpoint {
 				continue;
 			}
 
-			String mapping = key.substring(MetricNames.API_TIMER.name().length());
+			String mapping = key.substring(MetricNames.API_TIMER.name().length() + 1);
 
 			ApiStatusInfo apiStatusInfo = new ApiStatusInfo();
 			result.add(apiStatusInfo);
@@ -88,7 +89,7 @@ public class ApiStatusEndpoint {
 
 			MeterInfo meterInfo = meterInfoMap.get(mapping);
 			if (null == meterInfo) {
-				apiStatusInfo.setExceptionCount(0);
+				apiStatusInfo.setExceptionCount(0L);
 				apiStatusInfo.setExceptionMeanRate(0);
 				apiStatusInfo.setExceptionOneMinuteRate(0);
 				apiStatusInfo.setExceptionFiveMinuteRate(0);

+ 3 - 3
src/main/java/cn/com/qmth/examcloud/web/actuator/ApiStatusInfo.java

@@ -38,7 +38,7 @@ public class ApiStatusInfo {
 
 	private double p999;
 
-	private double exceptionCount;
+	private Long exceptionCount;
 
 	private double exceptionMeanRate;
 
@@ -202,11 +202,11 @@ public class ApiStatusInfo {
 		this.p999 = p999;
 	}
 
-	public double getExceptionCount() {
+	public Long getExceptionCount() {
 		return exceptionCount;
 	}
 
-	public void setExceptionCount(double exceptionCount) {
+	public void setExceptionCount(Long exceptionCount) {
 		this.exceptionCount = exceptionCount;
 	}
 

+ 10 - 0
src/main/java/cn/com/qmth/examcloud/web/actuator/ReportorHolder.java

@@ -2,6 +2,8 @@ package cn.com.qmth.examcloud.web.actuator;
 
 import java.util.concurrent.TimeUnit;
 
+import com.codahale.metrics.ConsoleReporter;
+
 /**
  * Reportor Holder
  *
@@ -15,6 +17,14 @@ public class ReportorHolder {
 			.forRegistry(MetricRegistryHolder.getDefalut()).convertRatesTo(TimeUnit.SECONDS)
 			.convertDurationsTo(TimeUnit.MILLISECONDS).build();
 
+	private static ConsoleReporter consoleReporter = ConsoleReporter
+			.forRegistry(MetricRegistryHolder.getDefalut()).convertRatesTo(TimeUnit.SECONDS)
+			.convertDurationsTo(TimeUnit.MILLISECONDS).build();
+
+	public static ConsoleReporter getConsoleReporter() {
+		return consoleReporter;
+	}
+
 	public static DataReportor getApiDataReportor() {
 		return apiReporter;
 	}