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();