You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/09/05 08:54:41 UTC

svn commit: r1165186 - /wicket/trunk/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/RenderPerformanceListener.java

Author: mgrigorov
Date: Mon Sep  5 06:54:40 2011
New Revision: 1165186

URL: http://svn.apache.org/viewvc?rev=1165186&view=rev
Log:
WICKET-4015 Implement a listener which can be used to measure the render time of a component

Add overriddable method that can filter which components' render time should be measured.


Modified:
    wicket/trunk/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/RenderPerformanceListener.java

Modified: wicket/trunk/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/RenderPerformanceListener.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/RenderPerformanceListener.java?rev=1165186&r1=1165185&r2=1165186&view=diff
==============================================================================
--- wicket/trunk/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/RenderPerformanceListener.java (original)
+++ wicket/trunk/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/RenderPerformanceListener.java Mon Sep  5 06:54:40 2011
@@ -43,15 +43,28 @@ public class RenderPerformanceListener i
 {
 	private static final Logger log = LoggerFactory.getLogger(RenderPerformanceListener.class);
 
-	public void onInstantiation(Component component)
+	public void onInstantiation(final Component component)
 	{
-		if (component.isAuto() == false)
+		if (accepts(component))
 		{
 			component.add(new RenderMeasuringBehavior());
 		}
 	}
 
 	/**
+	 * Filters which components' render performance should be measured.
+	 * 
+	 * @param component
+	 *            the component that is instantiated
+	 * @return {@code true} if render time should be measured the for this component, {@code false}
+	 *         - otherwise
+	 */
+	protected boolean accepts(final Component component)
+	{
+		return component.isAuto() == false;
+	}
+
+	/**
 	 * A {@link Behavior} that sets the current time in the meta data of the component before its
 	 * render starts and use it to calculate how long it took. The collected data is logged as debug
 	 * and also can be read from the meta data with key {@link PageView#RENDER_KEY}.
@@ -60,7 +73,7 @@ public class RenderPerformanceListener i
 	private static class RenderMeasuringBehavior extends Behavior
 	{
 		@Override
-		public void beforeRender(Component component)
+		public void beforeRender(final Component component)
 		{
 			super.beforeRender(component);
 			if (component.isAuto() == false)
@@ -71,7 +84,7 @@ public class RenderPerformanceListener i
 		}
 
 		@Override
-		public void afterRender(Component component)
+		public void afterRender(final Component component)
 		{
 			super.afterRender(component);
 			Long renderEnd = System.currentTimeMillis();