add webStat support

This commit is contained in:
wenshao
2012-08-12 14:02:05 +08:00
parent 1b27e9ab59
commit 9ce6e8ed9f
2 changed files with 40 additions and 0 deletions
@@ -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;
}
}
}