/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.livetrace; import com.enonic.cms.core.security.user.UserEntity; /** * Nov 25, 2010 */ public class PageRenderingTracer { public static PageRenderingTrace startTracing( final LivePortalTraceService livePortalTraceService ) { final PortalRequestTrace portalRequestTrace = livePortalTraceService.getCurrentPortalRequestTrace(); if ( portalRequestTrace != null ) { return livePortalTraceService.startPageRenderTracing( portalRequestTrace ); } else { return null; } } public static void stopTracing( final PageRenderingTrace trace, final LivePortalTraceService livePortalTraceService ) { if ( trace != null ) { livePortalTraceService.stopTracing( trace ); } } public static void traceRequester( final PageRenderingTrace trace, final UserEntity renderer ) { if ( trace != null && renderer != null ) { trace.setRenderer( User.createUser( renderer.getQualifiedName() ) ); } } public static void traceUsedCachedResult( final PageRenderingTrace trace, boolean cacheable, boolean usedCachedResult ) { if ( trace != null ) { trace.getCacheUsage().setCacheable( cacheable ); trace.getCacheUsage().setUsedCachedResult( usedCachedResult ); } } public static void startConcurrencyBlockTimer( PageRenderingTrace trace ) { if ( trace != null ) { trace.getCacheUsage().startConcurrencyBlockTimer(); } } public static void stopConcurrencyBlockTimer( PageRenderingTrace trace ) { if ( trace != null ) { trace.getCacheUsage().stopConcurrencyBlockTimer(); } } }