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:
@@ -1,5 +1,8 @@
|
||||
package com.alibaba.druid.support.http.stat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
@@ -24,6 +27,19 @@ public class WebAppStatManager {
|
||||
return webAppStatSet;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getWebAppStatData() {
|
||||
Set<Object> stats = getWebAppStatSet();
|
||||
|
||||
List<Map<String, Object>> statDataList = new ArrayList<Map<String, Object>>(stats.size());
|
||||
|
||||
for (Object stat : stats) {
|
||||
Map<String, Object> statData = WebAppStatUtils.getStatData(stat);
|
||||
statDataList.add(statData);
|
||||
}
|
||||
|
||||
return statDataList;
|
||||
}
|
||||
|
||||
public void addWebAppStatSet(Object webAppStat) {
|
||||
getWebAppStatSet().add(webAppStat);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.alibaba.druid.support.http.stat;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.druid.support.logging.Log;
|
||||
import com.alibaba.druid.support.logging.LogFactory;
|
||||
|
||||
public class WebAppStatUtils {
|
||||
|
||||
private final static Log LOG = LogFactory.getLog(WebAppStatUtils.class);
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Map<String, Object> getStatData(Object webStat) {
|
||||
try {
|
||||
Method method = webStat.getClass().getMethod("getStatData");
|
||||
Object obj = method.invoke(webStat);
|
||||
return (Map<String, Object>) obj;
|
||||
} catch (Exception e) {
|
||||
LOG.error("getStatData error", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user