|
@@ -1,6 +1,5 @@
|
|
package cn.com.qmth.examcloud.web.actuator;
|
|
package cn.com.qmth.examcloud.web.actuator;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -8,10 +7,13 @@ import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
|
|
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
|
|
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
|
|
import org.springframework.boot.actuate.endpoint.annotation.Selector;
|
|
import org.springframework.boot.actuate.endpoint.annotation.Selector;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
+import org.springframework.http.MediaType;
|
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Maps;
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
|
|
|
+import cn.com.qmth.examcloud.commons.util.FreeMarkerUtil;
|
|
|
|
+import cn.com.qmth.examcloud.commons.util.ResourceLoader;
|
|
import cn.com.qmth.examcloud.web.support.ApiInfo;
|
|
import cn.com.qmth.examcloud.web.support.ApiInfo;
|
|
import cn.com.qmth.examcloud.web.support.ApiInfoHolder;
|
|
import cn.com.qmth.examcloud.web.support.ApiInfoHolder;
|
|
|
|
|
|
@@ -26,8 +28,14 @@ import cn.com.qmth.examcloud.web.support.ApiInfoHolder;
|
|
@Endpoint(id = "api-status")
|
|
@Endpoint(id = "api-status")
|
|
public class ApiStatusEndpoint {
|
|
public class ApiStatusEndpoint {
|
|
|
|
|
|
- @ReadOperation(produces = "application/json")
|
|
|
|
- public Map<String, Object> getByDefault() {
|
|
|
|
|
|
+ /**
|
|
|
|
+ * url: /actuator/api-status
|
|
|
|
+ *
|
|
|
|
+ * @author WANGWEI
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @ReadOperation(produces = {MediaType.TEXT_HTML_VALUE})
|
|
|
|
+ public String getByDefault() {
|
|
return get("");
|
|
return get("");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -38,8 +46,8 @@ public class ApiStatusEndpoint {
|
|
* @param order
|
|
* @param order
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- @ReadOperation(produces = "application/json")
|
|
|
|
- public Map<String, Object> get(@Selector String order) {
|
|
|
|
|
|
+ @ReadOperation(produces = {MediaType.TEXT_HTML_VALUE})
|
|
|
|
+ public String get(@Selector String order) {
|
|
|
|
|
|
System.out.println(order);
|
|
System.out.println(order);
|
|
ReportorHolder.getApiDataReportor().report();
|
|
ReportorHolder.getApiDataReportor().report();
|
|
@@ -61,7 +69,7 @@ public class ApiStatusEndpoint {
|
|
meterInfoMap.put(mapping, meterInfo);
|
|
meterInfoMap.put(mapping, meterInfo);
|
|
}
|
|
}
|
|
|
|
|
|
- List<ApiStatusInfo> result = Lists.newArrayList();
|
|
|
|
|
|
+ List<ApiStatusInfo> list = Lists.newArrayList();
|
|
|
|
|
|
for (TimerInfo timerInfo : timerInfoList) {
|
|
for (TimerInfo timerInfo : timerInfoList) {
|
|
String key = timerInfo.getKey();
|
|
String key = timerInfo.getKey();
|
|
@@ -72,7 +80,7 @@ public class ApiStatusEndpoint {
|
|
String mapping = key.substring(MetricNames.API_TIMER.name().length() + 1);
|
|
String mapping = key.substring(MetricNames.API_TIMER.name().length() + 1);
|
|
|
|
|
|
ApiStatusInfo apiStatusInfo = new ApiStatusInfo();
|
|
ApiStatusInfo apiStatusInfo = new ApiStatusInfo();
|
|
- result.add(apiStatusInfo);
|
|
|
|
|
|
+ list.add(apiStatusInfo);
|
|
|
|
|
|
apiStatusInfo.setMapping(mapping);
|
|
apiStatusInfo.setMapping(mapping);
|
|
|
|
|
|
@@ -134,10 +142,14 @@ public class ApiStatusEndpoint {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- Map<String, Object> map = new HashMap<>(16);
|
|
|
|
- map.put("result", result);
|
|
|
|
|
|
+ Map<String, Object> map = Maps.newHashMap();
|
|
|
|
+ map.put("list", list);
|
|
map.put("dateTime", reportInfo.getDateTime());
|
|
map.put("dateTime", reportInfo.getDateTime());
|
|
- return map;
|
|
|
|
|
|
+
|
|
|
|
+ String html = ResourceLoader.getResource("api-status.html");
|
|
|
|
+
|
|
|
|
+ String ret = FreeMarkerUtil.process(html, map);
|
|
|
|
+ return ret;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|