[jboss-svn-commits] JBoss Portal SVN: r5509 - in trunk: core/src/main/org/jboss/portal/core/management core/src/resources/portal-core-sar/META-INF portlet/src/main/org/jboss/portal/portlet/management

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 30 05:52:23 EST 2006


Author: thomas.heute at jboss.com
Date: 2006-10-30 05:52:11 -0500 (Mon, 30 Oct 2006)
New Revision: 5509

Added:
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java
Modified:
   trunk/core/src/main/org/jboss/portal/core/management/InstanceContainerListenerImpl.java
   trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManager.java
   trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManagerMBean.java
   trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManager.java
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagerMBean.java
   trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerRegistryImpl.java
Log:
Simplified management listeners.


Modified: trunk/core/src/main/org/jboss/portal/core/management/InstanceContainerListenerImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/management/InstanceContainerListenerImpl.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/core/src/main/org/jboss/portal/core/management/InstanceContainerListenerImpl.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -29,6 +29,7 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.logging.Logger;
 import org.jboss.portal.core.impl.model.instance.InstanceContainerListener;
 import org.jboss.portal.core.impl.model.instance.InstanceDefinitionImpl;
 import org.jboss.portal.core.model.instance.InstanceContainer;
@@ -43,8 +44,10 @@
  */
 public class InstanceContainerListenerImpl extends ServiceMBeanSupport implements InstanceContainerListener
 {
-   public static final String JMX_PREFIX = "portal:service=Management,type=WSRPPorletConsumer,name=";
+   private Logger log = Logger.getLogger(InstanceContainerListenerImpl.class);
    
+   public static final String JMX_PREFIX = "portal.management:service=Management,type=WSRPPorletConsumer,name=";
+   
    private InstanceContainer instanceContainer;
    
    private PortletContainerManagementInterceptor interceptor;
@@ -72,41 +75,51 @@
          registerWSRPPortlet(portletRef, portlet);
       }
    }
-   
-   
 
    public void stop()
    {
-      /*
-      Iterator it = portletContainers.iterator();
+      Iterator it = portlets.iterator();
       while (it.hasNext())
       {
-         Instance portlet = (Instance)it.next();
-         unregisterPortlet(portlet.getPortlet());
+         String portletRef = (String)it.next();
+         try
+         {
+            destroyWSRPPortletConsumerManagemenentMBean(portletRef);
+         }
+         catch (Exception e)
+         {
+            e.printStackTrace();
+         }
       }
-      if (portletContainers.size() != 0)
+      if (portlets.size() != 0)
       {
          log.error("Unable to remove all the PortletContainer manager MBeans");
       }
-      */
    }
    
    public void portletInstanceCreated(InstanceDefinitionImpl portlet)
    {
-      /*
-      log.debug("Registering Management MBean: " + portlet.getId());
-      try
+      String portletRef = portlet.getPortletRef();
+      registerWSRPPortlet(portletRef, portlet);
+   }
+   
+   public void portletInstanceDestroyed(InstanceDefinitionImpl portlet)
+   {
+      // The portlet instance has been destroyed, are there other instances of the same WSRP portlet ?
+      if (!remainInstances(portlet.getPortletRef()))
       {
-         createPortletContainerManagemenentMBean(portlet);
-         portletContainers.add(portlet);
+         try
+         {
+            destroyWSRPPortletConsumerManagemenentMBean(portlet.getPortletRef());
+         }
+         catch (Exception e)
+         {
+            e.printStackTrace();
+         }
       }
-      catch (Exception e)
-      {
-         e.printStackTrace();
-      }
-      */
+      
    }
-   
+
    private void registerWSRPPortlet(String portletRef, InstanceDefinitionImpl portlet)
    {
       String prefix = portletRef.substring(0, portletRef.indexOf("."));
@@ -123,26 +136,23 @@
          }
       }
    }
-/*   
-   private void unregisterPortletContainer(Portlet portlet)
+
+   private boolean remainInstances(String portletRef)
    {
-      
-   }
-*/
-   public void portletInstanceDestroyed(InstanceDefinitionImpl portlet)
-   {
-      /*
-      log.debug("Unregistering Management MBean: " + portlet.getId());
-      try
+      boolean result = false;
+      Collection startedPortletInstances = instanceContainer.getInstances();
+      Iterator it = startedPortletInstances.iterator();
+      while (it.hasNext())
       {
-         destroyPortletContainerManagemenentMBean(portlet);
-         portletContainers.remove(portlet);
+         InstanceDefinitionImpl portlet = (InstanceDefinitionImpl)it.next();
+         String ref = portlet.getPortletRef();
+         if (portletRef.equals(ref))
+         {
+            result = true;
+            break;
+         }
       }
-      catch (Exception e)
-      {
-         e.printStackTrace();
-      }
-      */
+      return result;
    }
    
    public void setInstanceContainer(InstanceContainer instanceContainer)
@@ -160,15 +170,15 @@
       WSRPPortletConsumerManager manager = new WSRPPortletConsumerManager(portletRef, interceptor);
       ObjectName objectName = new ObjectName(getMBeanName(portletRef));
       getServer().registerMBean(manager, objectName);
+      log.debug("Registered Management MBean for: " + portletRef);
    }
-   
-   /*
-   private void destroyPortletContainerManagemenentMBean(PortletContainer portlet) throws Exception
+
+   private void destroyWSRPPortletConsumerManagemenentMBean(String portletRef) throws Exception
    {
-      ObjectName objectName = new ObjectName(getMBeanName(portlet));
+      ObjectName objectName = new ObjectName(getMBeanName(portletRef));
       getServer().unregisterMBean(objectName);
+      log.debug("Unregistered Management MBean for: " + portletRef);
    }
-   */
    
    private String getMBeanName(String portletRef)
    {

Modified: trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManager.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManager.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManager.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -47,48 +47,32 @@
 
    public float getAverageRenderTime()
    {
-      Float time = interceptor.getAverageRenderTime(getId());
-      return time.floatValue();
+      return interceptor.getPortletInfo(getId()).getAverageRenderTime();
    }
 
    public float getAverageActionTime()
    {
-      Float time = interceptor.getAverageActionTime(getId());
-      return time.floatValue();
+      return interceptor.getPortletInfo(getId()).getAverageActionTime();
    }
 
    public long getMaxRenderTime()
    {
-      Long time = interceptor.getMaxRenderTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getMaxRenderTime();
    }
 
    public long getMaxActionTime()
    {
-      Long time = interceptor.getMaxActionTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getMaxActionTime();
    }
 
-   public long getMinRenderTime()
+   public long getRenderRequestCount()
    {
-      Long time = interceptor.getMinRenderTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getRenderRequestCount();
    }
 
-   public long getMinActionTime()
+   public long getActionRequestCount()
    {
-      Long time = interceptor.getMinActionTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getActionRequestCount();
    }
    
-   public long getNbRenderCalls()
-   {
-      return interceptor.getNbRenderCalls(getId());
-   }
-
-   public long getNbActionCalls()
-   {
-      return interceptor.getNbActionCalls(getId());
-   }
-   
 }

Modified: trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManagerMBean.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManagerMBean.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/core/src/main/org/jboss/portal/core/management/WSRPPortletConsumerManagerMBean.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -28,8 +28,6 @@
  */
 public interface WSRPPortletConsumerManagerMBean
 {
-   // public String getName();
-   
    public float getAverageRenderTime();
 
    public float getAverageActionTime();
@@ -38,11 +36,7 @@
 
    public long getMaxActionTime();
 
-   public long getMinRenderTime();
-
-   public long getMinActionTime();
+   public long getRenderRequestCount();
    
-   public long getNbRenderCalls();
-   
-   public long getNbActionCalls();
+   public long getActionRequestCount();
 }

Modified: trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
--- trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2006-10-30 10:52:11 UTC (rev 5509)
@@ -26,7 +26,7 @@
    <!--  Management MBean -->
    <mbean
       code="org.jboss.portal.core.management.PortalImpl"
-      name="portal:service=Management,type=Portal,name=Default"
+      name="portal.management:service=Management,type=Portal,name=Default"
       xmbean-dd=""
       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
       <depends

Modified: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -28,25 +28,5 @@
  */
 public interface PortletContainerManagementInterceptor
 {
-   public Float getAverageRenderTime(String portletId);
-   
-   public Float getAverageActionTime(String portletId);
-
-   public Long getMaxRenderTime(String portletId);
-   
-   public Long getMaxActionTime(String portletId);
-
-   public Long getMinRenderTime(String portletId);
-   
-   public Long getMinActionTime(String portletId);
-   
-   public long getNbRenderCalls(String portletId);
-   
-   public long getNbActionCalls(String portletId);
-   /**
-    * Defines how many values are used to get the max, min and average.
-    */
-   public int getSampleSize();
-   
-   public void setSampleSize(int sampleSize);
+   public PortletInfo getPortletInfo(String portletName);
 }

Modified: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -22,18 +22,15 @@
  ******************************************************************************/
 package org.jboss.portal.portlet.management;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.jboss.portal.common.invocation.InvocationException;
-import org.jboss.portal.common.util.LoopCollection;
 import org.jboss.portal.portlet.PortletContext;
 import org.jboss.portal.portlet.invocation.ActionInvocation;
 import org.jboss.portal.portlet.invocation.PortletInterceptor;
 import org.jboss.portal.portlet.invocation.PortletInvocation;
 import org.jboss.portal.portlet.invocation.RenderInvocation;
+
 import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -42,11 +39,6 @@
  */
 public class PortletContainerManagementInterceptorImpl extends PortletInterceptor implements PortletContainerManagementInterceptor
 {
-   
-   /**
-    * Last values to consider
-    */
-   private int sampleSize = 10;
 
    private Map map = new ConcurrentHashMap();
    
@@ -55,166 +47,34 @@
       PortletContext portlet = (PortletContext)invocation.getAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE);
       String portletName = portlet.getId();
 
-      // todo : LoopCollection usage is not thread safe, it can be updated concurrently by several threads
-      
       long delta = - System.currentTimeMillis();
       Object object = invocation.invokeNext();
       delta += System.currentTimeMillis();
 
       if (invocation instanceof RenderInvocation)
       {
-         Value value = getValue(portletName);
-         value.renderTimes.put(new Long(delta));
-         value.nbRenderCalls++;
+         PortletInfo info = getPortletInfo(portletName);
+         // TODO: Add error count
+         info.newRenderCall(delta, false);
       }
       else if (invocation instanceof ActionInvocation)
       {
-         Value value = getValue(portletName);
-         value.actionTimes.put(new Long(delta));
-         value.nbActionCalls++;
+         PortletInfo info = getPortletInfo(portletName);
+         // TODO: Add error count
+         info.newActionCall(delta, false);
       }
       return object;
    }
 
-   private Value getValue(String key)
+   public PortletInfo getPortletInfo(String key)
    {
-      Value value = (Value)map.get(key);
-      if (value == null)
+      PortletInfo info = (PortletInfo)map.get(key);
+      if (info == null)
       {
-         value = new Value(sampleSize);
-         map.put(key, value);
+         info = new PortletInfo();
+         map.put(key, info);
       }
-      return value;
+      return info;
    }
-
-   public Float getAverageRenderTime(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return getAverage(value.renderTimes);
-   }
    
-   public Float getAverageActionTime(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return getAverage(value.actionTimes);
-   }
-
-   public Long getMaxRenderTime(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return getMax(value.renderTimes);
-   }
-   
-   public Long getMaxActionTime(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return getMax(value.actionTimes);
-   }
-
-   public Long getMinRenderTime(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return getMin(value.renderTimes);
-   }
-   
-   public Long getMinActionTime(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return getMin(value.actionTimes);
-   }
-
-   public long getNbRenderCalls(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return value.nbRenderCalls;
-   }
-
-   public long getNbActionCalls(String portletId)
-   {
-      Value value = (Value)map.get(portletId);
-      return value.nbActionCalls;
-   }
-
-   public int getSampleSize()
-   {
-      return sampleSize;
-   }
-   
-   public void setSampleSize(int sampleSize)
-   {
-      this.sampleSize = sampleSize;
-      Iterator it = map.values().iterator();
-      while (it.hasNext())
-      {
-         ((Value)it.next()).setSampleSize(sampleSize);
-      }
-   }
-   
-   private class Value
-   {
-      LoopCollection renderTimes;
-      LoopCollection actionTimes;
-      long nbRenderCalls = 0;
-      long nbActionCalls = 0;
-      
-      public Value(int sampleSize)
-      {
-         renderTimes = new LoopCollection(sampleSize);
-         actionTimes = new LoopCollection(sampleSize);
-      }
-      
-      public void setSampleSize(int sampleSize)
-      {
-         renderTimes.setSize(sampleSize);
-         actionTimes.setSize(sampleSize);
-      }
-
-   }
-
-   private Float getAverage(LoopCollection loop)
-   {
-      // todo : implement copy on read here for thread safety
-      if (loop.getSize() == 0)
-      {
-         return null;
-      }
-      
-      float sum = 0;
-      for (int i = 0; i < loop.getSize(); i++)
-      {
-         sum += ((Long)loop.get(i)).longValue();
-      }
-      return new Float(sum / loop.getSize());
-   }
-
-   public Long getMax(LoopCollection loop)
-   {
-      // todo : implement copy on read here for thread safety
-      long max = -1;
-      for (int i = 0; i < loop.getSize(); i++)
-      {
-         if (((Long)loop.get(i)).longValue() > max)
-         {
-            max = ((Long)loop.get(i)).longValue();
-         }
-      }
-      if (max == -1) return null;
-      return new Long(max);
-   }
-
-   public Long getMin(LoopCollection loop)
-   {
-      // todo : implement copy on read here for thread safety
-      long min = Long.MAX_VALUE;
-      for (int i = 0; i < loop.getSize(); i++)
-      {
-         if (((Long)loop.get(i)).longValue() < min)
-         {
-            min = ((Long)loop.get(i)).longValue();
-         }
-      }
-      if (min == Long.MAX_VALUE) return null;
-      return new Long(min);
-   }
-
 }

Modified: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManager.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManager.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManager.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -52,48 +52,32 @@
 
    public float getAverageRenderTime()
    {
-      Float time = interceptor.getAverageRenderTime(getId());
-      return time.floatValue();
+      return interceptor.getPortletInfo(getId()).getAverageRenderTime();
    }
 
    public float getAverageActionTime()
    {
-      Float time = interceptor.getAverageActionTime(getId());
-      return time.floatValue();
+      return interceptor.getPortletInfo(getId()).getAverageActionTime();
    }
 
    public long getMaxRenderTime()
    {
-      Long time = interceptor.getMaxRenderTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getMaxRenderTime();
    }
 
    public long getMaxActionTime()
    {
-      Long time = interceptor.getMaxActionTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getMaxActionTime();
    }
 
-   public long getMinRenderTime()
+   public long getRenderRequestCount()
    {
-      Long time = interceptor.getMinRenderTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getRenderRequestCount();
    }
 
-   public long getMinActionTime()
+   public long getActionRequestCount()
    {
-      Long time = interceptor.getMinActionTime(getId());
-      return time.longValue();
+      return interceptor.getPortletInfo(getId()).getActionRequestCount();
    }
    
-   public long getNbRenderCalls()
-   {
-      return interceptor.getNbRenderCalls(getId());
-   }
-
-   public long getNbActionCalls()
-   {
-      return interceptor.getNbActionCalls(getId());
-   }
-   
 }

Modified: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagerMBean.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagerMBean.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagerMBean.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -38,11 +38,7 @@
 
    public long getMaxActionTime();
 
-   public long getMinRenderTime();
-
-   public long getMinActionTime();
+   public long getRenderRequestCount();
    
-   public long getNbRenderCalls();
-   
-   public long getNbActionCalls();
+   public long getActionRequestCount();
 }

Modified: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerRegistryImpl.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerRegistryImpl.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerRegistryImpl.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -44,7 +44,7 @@
 {
    private final static Logger log = Logger.getLogger(PortletContainerRegistryImpl.class);
 
-   public static final String JMX_PREFIX = "portal:service=Management,type=PortletContainer,name=";
+   public static final String JMX_PREFIX = "portal.management:service=Management,type=PortletContainer,name=";
    
    private PortletApplicationRegistry registry;
    
@@ -89,7 +89,6 @@
    
    public void registerPortletContainer(PortletContainer portlet)
    {
-      log.debug("Registering Management MBean: " + portlet.getContext().getId());
       try
       {
          createPortletContainerManagemenentMBean(portlet);
@@ -103,7 +102,6 @@
 
    public void unregisterPortletContainer(PortletContainer portlet)
    {
-      log.debug("Unregistering Management MBean: " + portlet.getContext().getId());
       try
       {
          destroyPortletContainerManagemenentMBean(portlet);
@@ -130,12 +128,14 @@
       PortletContainerManager manager = new PortletContainerManager(portlet, interceptor);
       ObjectName objectName = new ObjectName(getMBeanName(portlet));
       getServer().registerMBean(manager, objectName);
+      log.debug("Registered Management MBean for: " + portlet.getContext().getId());
    }
    
    private void destroyPortletContainerManagemenentMBean(PortletContainer portlet) throws Exception
    {
       ObjectName objectName = new ObjectName(getMBeanName(portlet));
       getServer().unregisterMBean(objectName);
+      log.debug("Unegistered Management MBean for: " + portlet.getContext().getId());
    }
    
    private String getMBeanName(PortletContainer portlet)

Added: trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java	2006-10-30 10:45:08 UTC (rev 5508)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java	2006-10-30 10:52:11 UTC (rev 5509)
@@ -0,0 +1,113 @@
+package org.jboss.portal.portlet.management;
+
+public class PortletInfo
+{
+
+   private long renderRequestProcessingTime;
+
+   private long actionRequestProcessingTime;
+
+   private long maxActionTime;
+
+   private long maxRenderTime;
+
+   private String maxRenderRequestUri;
+
+   private String maxActionRequestUri;
+
+   private int actionRequestCount;
+
+   private int renderRequestCount;
+
+   private int renderErrorCount;
+
+   private int actionErrorCount;
+
+   public long getRenderRequestProcessingTime()
+   {
+      return renderRequestProcessingTime;
+   }
+
+   public long getActionRequestProcessingTime()
+   {
+      return actionRequestProcessingTime;
+   }
+
+   public long getMaxRenderTime()
+   {
+      return maxRenderTime;
+   }
+
+   public long getMaxActionTime()
+   {
+      return maxActionTime;
+   }
+
+   public String getMaxRenderRequestUri()
+   {
+      return maxRenderRequestUri;
+   }
+
+   public String getMaxActionRequestUri()
+   {
+      return maxActionRequestUri;
+   }
+
+   public synchronized float getAverageRenderTime()
+   {
+      return (float)renderRequestProcessingTime/renderRequestCount;
+   }
+   
+   public synchronized float getAverageActionTime()
+   {
+      return (float)actionRequestProcessingTime/actionRequestCount;
+   }
+
+   public int getRenderRequestCount()
+   {
+      return renderRequestCount;
+   }
+
+   public int getActionRequestCount()
+   {
+      return actionRequestCount;
+   }
+
+   public int getRenderErrorCount()
+   {
+      return renderErrorCount;
+   }
+
+   public int getActionErrorCount()
+   {
+      return actionErrorCount;
+   }
+
+   public synchronized void newRenderCall(long time, boolean error)
+   {
+      renderRequestProcessingTime += time;
+      if (time > maxRenderTime)
+      {
+         maxRenderTime = time;
+      }
+      renderRequestCount++; 
+      if (error)
+      {
+         renderErrorCount++;
+      }
+   }
+
+   public synchronized void newActionCall(long time, boolean error)
+   {
+      actionRequestProcessingTime += time;
+      if (time > maxActionTime)
+      {
+         maxActionTime = time;
+      }
+      actionRequestCount++; 
+      if (error)
+      {
+         actionErrorCount++;
+      }
+   }
+}




More information about the jboss-svn-commits mailing list