You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ec...@apache.org on 2007/12/07 03:56:48 UTC
svn commit: r601966 - in
/geronimo/sandbox/monitoring/client/client-war/src/main:
java/org/apache/geronimo/plugins/monitoring/client/MRCConnector.java
webapp/WEB-INF/view/monitoringViewServer.jsp
Author: ecraig
Date: Thu Dec 6 18:56:41 2007
New Revision: 601966
URL: http://svn.apache.org/viewvc?rev=601966&view=rev
Log:
GERONIMO-3679
Montitoring console should display 'available statistics' in a more
organized way
Patch by Viet Nguyen
Modified:
geronimo/sandbox/monitoring/client/client-war/src/main/java/org/apache/geronimo/plugins/monitoring/client/MRCConnector.java
geronimo/sandbox/monitoring/client/client-war/src/main/webapp/WEB-INF/view/monitoringViewServer.jsp
Modified: geronimo/sandbox/monitoring/client/client-war/src/main/java/org/apache/geronimo/plugins/monitoring/client/MRCConnector.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/client/client-war/src/main/java/org/apache/geronimo/plugins/monitoring/client/MRCConnector.java?rev=601966&r1=601965&r2=601966&view=diff
==============================================================================
--- geronimo/sandbox/monitoring/client/client-war/src/main/java/org/apache/geronimo/plugins/monitoring/client/MRCConnector.java (original)
+++ geronimo/sandbox/monitoring/client/client-war/src/main/java/org/apache/geronimo/plugins/monitoring/client/MRCConnector.java Thu Dec 6 18:56:41 2007
@@ -610,7 +610,7 @@
}
return beanMap;
}
-
+
@SuppressWarnings("unchecked")
public boolean stopTrackingMbean(String MBean) throws Exception
{
Modified: geronimo/sandbox/monitoring/client/client-war/src/main/webapp/WEB-INF/view/monitoringViewServer.jsp
URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/client/client-war/src/main/webapp/WEB-INF/view/monitoringViewServer.jsp?rev=601966&r1=601965&r2=601966&view=diff
==============================================================================
--- geronimo/sandbox/monitoring/client/client-war/src/main/webapp/WEB-INF/view/monitoringViewServer.jsp (original)
+++ geronimo/sandbox/monitoring/client/client-war/src/main/webapp/WEB-INF/view/monitoringViewServer.jsp Thu Dec 6 18:56:41 2007
@@ -18,10 +18,11 @@
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<%@ page import="org.apache.geronimo.plugins.monitoring.client.StatsGraph" %>
<%@ page import="org.apache.geronimo.plugins.monitoring.client.GraphsBuilder" %>
-<%@ page import="java.util.Vector" %>
+<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Set" %>
-<%@ page import="java.util.Iterator" %>
<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page import="java.util.Map" %>
<%@ page import="java.util.TreeMap" %>
<%@ page import="java.lang.String" %>
<%@ page import="java.sql.Connection" %>
@@ -316,28 +317,60 @@
</tr>
- <%
- try{
- for (Iterator <String> it = trackedBeansMap.keySet().iterator(); it.hasNext();)
- {
- String prettyBean = it.next().toString();
- %>
- <tr>
- <td width=95% bgcolor="#FFFFFF" nowrap>
- <%=prettyBean%>
- </td>
- <td align="right" width=5% bgcolor="#f2f2f2" nowrap>
- <a href="<portlet:actionURL portletMode="view"><portlet:param name="action" value="stopTrackingMbean" /><portlet:param name="server_id" value="<%=server_id%>" /><portlet:param name="mbean" value="<%=trackedBeansMap.get(prettyBean)%>" /></portlet:actionURL>"><img border=0 src="/monitoring/images/close-b.png"></a><br>
- </td>
- </tr>
- <%
+ <%
+ try {
+ // store all mbeans into a map [category --> list of mbeans)
+ TreeMap<String, ArrayList<String>> trackedCategoryMap = new TreeMap<String, ArrayList<String>>();
+ for(Iterator<String> it = trackedBeansMap.keySet().iterator(); it.hasNext(); ) {
+ String mbeanPretty = it.next();
+ String mbean = trackedBeansMap.get(mbeanPretty); // full mbean name
+ String[] params = mbean.split(",");
+ String category = "Other";
+ for(int i = 0 ; i < params.length; i++) {
+ if(params[i].startsWith("j2eeType=")) {
+ // we've found our category, so stop it
+ category = params[i].split("=")[1];
+ if(category.equalsIgnoreCase("gbean")) {
+ category = "Other";
+ }
+ break;
+ }
}
- }
- catch (Exception e)
- {
-
- }
- %>
+ ArrayList<String> currList = trackedCategoryMap.get(category);
+ if(currList == null) {
+ currList = new ArrayList<String>();
+ }
+ currList.add(mbean);
+ trackedCategoryMap.put(category, currList);
+ }
+ // view all mbeans by category
+ for (Iterator <String> it = trackedCategoryMap.keySet().iterator(); it.hasNext();) {
+ String category = it.next().toString();
+ out.println("<tr><td colspan=2 bgcolor=\"#DCDCDC\"><b>" + category + "</b></td></tr>");
+ ArrayList<String> mbeanList = trackedCategoryMap.get(category);
+ for(int i = 0 ; i < mbeanList.size(); i++) {
+ String prettyBean = null;
+ boolean found = false;
+ for(Iterator<String> itt = trackedBeansMap.keySet().iterator(); itt.hasNext() && !found; ) {
+ String currPrettyBean = itt.next();
+ if(trackedBeansMap.get(currPrettyBean).equals(mbeanList.get(i))) {
+ prettyBean = currPrettyBean;
+ found = true;
+ }
+ }
+ %>
+ <tr>
+ <td width=95% bgcolor="#FFFFFF" nowrap><%=prettyBean%></td>
+ <td align="right" width=5% bgcolor="#f2f2f2" nowrap>
+ <a href="<portlet:actionURL portletMode="view"><portlet:param name="action" value="stopTrackingMbean" /><portlet:param name="server_id" value="<%=server_id%>" /><portlet:param name="mbean" value="<%=mbeanList.get(i)%>" /></portlet:actionURL>"><img border=0 src="/monitoring/images/close-b.png"></a><br>
+ </td>
+ </tr>
+ <%
+ }
+ }
+ } catch (Exception e) {
+ }
+ %>
</table>
<br>
@@ -352,31 +385,59 @@
<%
try {
- for (Iterator <String> it = availableBeansMap.keySet().iterator(); it.hasNext();)
- {
- String prettyBean = it.next().toString();
- %>
- <tr>
- <td width=95% bgcolor="#FFFFFF" nowrap>
- <%=prettyBean%>
- </td>
- <td align="right" width=5% bgcolor="#f2f2f2" nowrap>
- <a href="<portlet:actionURL portletMode="view"><portlet:param name="action" value="startTrackingMbean" /><portlet:param name="server_id" value="<%=server_id%>" /><portlet:param name="mbean" value="<%=availableBeansMap.get(prettyBean)%>" /></portlet:actionURL>"><img border=0 src="/monitoring/images/max-b.png"></a><br>
- </td>
- </tr>
- <%
- }
+ // store all mbeans into a map [category --> list of mbeans)
+ TreeMap<String, ArrayList<String>> availableCategoryMap = new TreeMap<String, ArrayList<String>>();
+ for(Iterator<String> it = availableBeansMap.keySet().iterator(); it.hasNext(); ) {
+ String mbeanPretty = it.next();
+ String mbean = availableBeansMap.get(mbeanPretty); // full mbean name
+ String[] params = mbean.split(",");
+ String category = "Other";
+ for(int i = 0 ; i < params.length; i++) {
+ if(params[i].startsWith("j2eeType=")) {
+ // we've found our category, so stop it
+ category = params[i].split("=")[1];
+ if(category.equalsIgnoreCase("gbean")) {
+ category = "Other";
+ }
+ break;
+ }
+ }
+ ArrayList<String> currList = availableCategoryMap.get(category);
+ if(currList == null) {
+ currList = new ArrayList<String>();
+ }
+ currList.add(mbean);
+ availableCategoryMap.put(category, currList);
+ }
+ // view all mbeans by category
+ for (Iterator <String> it = availableCategoryMap.keySet().iterator(); it.hasNext();) {
+ String category = it.next().toString();
+ out.println("<tr><td colspan=2 bgcolor=\"#DCDCDC\"><b>" + category + "</b></td></tr>");
+ ArrayList<String> mbeanList = availableCategoryMap.get(category);
+ for(int i = 0 ; i < mbeanList.size(); i++) {
+ String prettyBean = null;
+ boolean found = false;
+ for(Iterator<String> itt = availableBeansMap.keySet().iterator(); itt.hasNext() && !found; ) {
+ String currPrettyBean = itt.next();
+ if(availableBeansMap.get(currPrettyBean).equals(mbeanList.get(i))) {
+ prettyBean = currPrettyBean;
+ found = true;
+ }
+ }
+ %>
+ <tr>
+ <td width=95% bgcolor="#FFFFFF" nowrap><%=prettyBean%></td>
+ <td align="right" width=5% bgcolor="#f2f2f2" nowrap>
+ <a href="<portlet:actionURL portletMode="view"><portlet:param name="action" value="startTrackingMbean" /><portlet:param name="server_id" value="<%=server_id%>" /><portlet:param name="mbean" value="<%=mbeanList.get(i)%>" /></portlet:actionURL>"><img border=0 src="/monitoring/images/max-b.png"></a><br>
+ </td>
+ </tr>
+ <%
+ }
+ }
+ } catch (Exception e) {
}
- catch (Exception e)
- {
-
- }
- %>
-
-
-
+ %>
</table>
-
</td>
</tr>
</table>