mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
add webStat support
This commit is contained in:
@@ -91,7 +91,7 @@ public class JSONDruidStatService {
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> getWebURIStatDataList(Map<String, String> parameters) {
|
||||
List<Map<String, Object>> array = WebAppStatManager.getInstance().getWebAppStatData();
|
||||
List<Map<String, Object>> array = WebAppStatManager.getInstance().getURIStatData();
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
@@ -135,6 +135,14 @@ public class WebAppStat {
|
||||
data.put("ConcurrentMax", this.getConcurrentMax());
|
||||
data.put("RequestCount", this.getRequestCount());
|
||||
|
||||
List<Map<String, Object>> uriStatDataList = getURIStatDataList();
|
||||
|
||||
data.put("URIList", uriStatDataList);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getURIStatDataList() {
|
||||
List<Map<String, Object>> uriStatDataList = new ArrayList<Map<String, Object>>(this.uriStatMap.size());
|
||||
for (WebURIStat uriStat : this.uriStatMap.values()) {
|
||||
Map<String, Object> uriStatData = uriStat.getStatData();
|
||||
@@ -148,10 +156,7 @@ public class WebAppStat {
|
||||
|
||||
uriStatDataList.add(uriStatData);
|
||||
}
|
||||
|
||||
data.put("URIList", uriStatDataList);
|
||||
|
||||
return data;
|
||||
return uriStatDataList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -39,6 +39,19 @@ public class WebAppStatManager {
|
||||
|
||||
return statDataList;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getURIStatData() {
|
||||
Set<Object> stats = getWebAppStatSet();
|
||||
|
||||
List<Map<String, Object>> allAppUriStatDataList = new ArrayList<Map<String, Object>>();
|
||||
|
||||
for (Object stat : stats) {
|
||||
List<Map<String, Object>> uriStatDataList = WebAppStatUtils.getURIStatDataList(stat);
|
||||
allAppUriStatDataList.addAll(uriStatDataList);
|
||||
}
|
||||
|
||||
return allAppUriStatDataList;
|
||||
}
|
||||
|
||||
public void addWebAppStatSet(Object webAppStat) {
|
||||
getWebAppStatSet().add(webAppStat);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.alibaba.druid.support.http.stat;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.druid.support.logging.Log;
|
||||
@@ -21,4 +22,16 @@ public class WebAppStatUtils {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<Map<String, Object>> getURIStatDataList(Object webStat) {
|
||||
try {
|
||||
Method method = webStat.getClass().getMethod("getURIStatDataList");
|
||||
Object obj = method.invoke(webStat);
|
||||
return (List<Map<String, Object>>) obj;
|
||||
} catch (Exception e) {
|
||||
LOG.error("getURIStatDataList error", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user