diff --git a/nuxeo-jsf/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/binding/alias/AliasTagHandler.java b/nuxeo-jsf/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/binding/alias/AliasTagHandler.java
index 783351d..b97f372 100644
--- a/nuxeo-jsf/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/binding/alias/AliasTagHandler.java
+++ b/nuxeo-jsf/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/binding/alias/AliasTagHandler.java
@@ -20,6 +20,7 @@
 package org.nuxeo.ecm.platform.ui.web.binding.alias;
 
 import java.io.IOException;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -39,9 +40,12 @@ import javax.faces.view.facelets.FaceletHandler;
 import javax.faces.view.facelets.TagAttribute;
 import javax.faces.view.facelets.TagException;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.nuxeo.runtime.api.Framework;
 
 import com.sun.faces.facelets.tag.jsf.ComponentSupport;
+import com.sun.faces.facelets.tag.ui.DecorateHandler;
 
 /**
  * Tag handler that exposes variables to the variable map. Behaviour is close to the c:set tag handler except:
@@ -75,6 +79,8 @@ public class AliasTagHandler extends ComponentHandler {
 
     protected final List<String> blockedPatterns;
 
+    protected static final Log log = LogFactory.getLog(AliasTagHandler.class);
+
     /**
      * @since 6.0
      */
@@ -155,6 +161,23 @@ public class AliasTagHandler extends ComponentHandler {
         return false;
     }
 
+    protected static class Stat {
+
+        long timing=0;
+
+        long nbCall=0;
+
+        double getAverage() {
+            if (nbCall==0) {
+                return 0;
+            }
+            return timing/(nbCall +0.0);
+        }
+
+    }
+
+    protected static Map<String, Stat> renderingTimes = new LinkedHashMap<String, Stat>();
+
     protected void applyAliasHandler(FaceletContext ctx, UIComponent parent, AliasVariableMapper alias,
             FaceletHandler nextHandler, boolean createComponent) throws IOException, FacesException, FaceletException,
             ELException {
@@ -178,7 +201,31 @@ public class AliasTagHandler extends ComponentHandler {
             if (createComponent) {
                 super.apply(ctx, parent);
             } else {
-                nextHandler.apply(ctx, parent);
+                if (nextHandler instanceof DecorateHandler) {
+                    DecorateHandler deco = (DecorateHandler) nextHandler;
+                    String key = deco.toString();
+                    if (key.contains("nuxeo_header_template")) {
+                        renderingTimes = new LinkedHashMap<String, Stat>();
+                    }
+                    Stat s = renderingTimes.get(key);
+                    if (s==null) {
+                        s = new Stat();
+                        // preserve insertion time
+                        renderingTimes.put(key, s);
+                    }
+
+                    long t0 = System.currentTimeMillis();
+                    nextHandler.apply(ctx, parent);
+                    s.timing= s.timing + System.currentTimeMillis() - t0;
+                    s.nbCall++;
+                    renderingTimes.put(key, s);
+
+                    if (key.contains("nuxeo_footer_template")) {
+                        dump();
+                    }
+                } else {
+                    nextHandler.apply(ctx, parent);
+                }
             }
         } finally {
             AliasVariableMapper.removeAliasesExposedToRequest(facesContext, id);
@@ -186,6 +233,14 @@ public class AliasTagHandler extends ComponentHandler {
         }
     }
 
+    protected void dump () {
+        log.error("**********************************************");
+        for (String key : renderingTimes.keySet()) {
+            Stat s = renderingTimes.get(key);
+            log.error(key + "=>" + s.timing + " ms  -- avg: " + s.getAverage() + " ms on " + s.nbCall + " calls ");
+        }
+    }
+
     /**
      * Compatibility application of facelet handler, used to preserve behaviour while optimizing and improving variables
      * exposure and resolution.
