use of com.enonic.xp.trace.Trace in project xp by enonic.
the class PostProcessingRenderer method executeResponseProcessors.
private PortalResponse executeResponseProcessors(final PortalRequest portalRequest, final PortalResponse portalResponse) {
final ResponseProcessorDescriptors filters = this.processorChainResolver.resolve(portalRequest);
if (!portalResponse.applyFilters() || filters.isEmpty()) {
return portalResponse;
}
PortalResponse filterResponse = portalResponse;
for (ResponseProcessorDescriptor filter : filters) {
final PortalResponse filterPortalResponse = filterResponse;
final Trace trace = Tracer.newTrace("renderFilter");
if (trace == null) {
filterResponse = processorExecutor.execute(filter, portalRequest, filterPortalResponse);
} else {
trace.put("app", filter.getApplication().toString());
trace.put("name", filter.getName());
trace.put("type", "filter");
filterResponse = Tracer.trace(trace, () -> processorExecutor.execute(filter, portalRequest, filterPortalResponse));
}
if (!filterResponse.applyFilters()) {
break;
}
}
return filterResponse;
}
use of com.enonic.xp.trace.Trace in project xp by enonic.
the class WebAppHandler method getScript.
private ControllerScript getScript(final ApplicationKey applicationKey) {
final ResourceKey script = ResourceKey.from(applicationKey, "/webapp/webapp.js");
final Trace trace = Tracer.current();
if (trace != null) {
trace.put("script", script.getPath());
}
return this.controllerScriptFactory.fromScript(script);
}
use of com.enonic.xp.trace.Trace in project xp by enonic.
the class MappingFilterHandlerWorker method execute.
@Override
public PortalResponse execute() throws Exception {
final Trace trace = Tracer.current();
if (trace != null) {
trace.put("contentPath", this.request.getContentPath().toString());
trace.put("type", "filter");
}
final FilterScript filterScript = getScript();
return filterScript.execute(this.request, this.response, this.webHandlerChain);
}
use of com.enonic.xp.trace.Trace in project xp by enonic.
the class MappingHandlerWorker method execute.
@Override
public PortalResponse execute() throws Exception {
final ControllerScript controllerScript = getScript();
final Trace trace = Tracer.current();
if (trace != null) {
trace.put("contentPath", this.request.getContentPath().toString());
trace.put("type", "mapping");
}
this.request.setControllerScript(controllerScript);
final PortalResponse portalResponse = rendererDelegate.render(mappingDescriptor, this.request);
final WebSocketConfig webSocketConfig = portalResponse.getWebSocket();
final WebSocketContext webSocketContext = this.request.getWebSocketContext();
if (webSocketContext != null && webSocketConfig != null) {
final WebSocketEndpoint webSocketEndpoint = newWebSocketEndpoint(webSocketConfig, this::getScript, request.getApplicationKey());
webSocketContext.apply(webSocketEndpoint);
}
return portalResponse;
}
use of com.enonic.xp.trace.Trace in project xp by enonic.
the class PageHandler method doHandle.
@Override
protected PortalResponse doHandle(final WebRequest webRequest, final WebResponse webResponse, final WebHandlerChain webHandlerChain) throws Exception {
WebHandlerHelper.checkAdminAccess(webRequest);
final PageHandlerWorker worker = new PageHandlerWorker((PortalRequest) webRequest);
worker.contentResolver = new ContentResolver(contentService);
worker.rendererDelegate = rendererDelegate;
worker.pageResolver = new PageResolver(pageTemplateService);
worker.pageDescriptorService = pageDescriptorService;
worker.portalUrlService = portalUrlService;
final Trace trace = Tracer.newTrace("renderComponent");
if (trace == null) {
return worker.execute();
}
return Tracer.traceEx(trace, worker::execute);
}
Aggregations