in src/main/java/org/apache/sling/tracer/internal/LogTracer.java [317:354]
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
SlingHttpServletRequest slingRequest = (SlingHttpServletRequest) servletRequest;
TracerContext tracerContext = requestContextHolder.get();
Recording recording = recorder.getRecordingForRequest(slingRequest);
recording.registerTracker(slingRequest.getRequestProgressTracker());
boolean createdContext = false;
//Check if the global filter created context based on HTTP headers. If not
//then check from request params
if (tracerContext == null) {
tracerContext = getTracerContext(slingRequest.getParameter(PARAM_TRACER),
slingRequest.getParameter(PARAM_TRACER_CONFIG), recording);
if (tracerContext != null) {
createdContext = true;
}
}
try {
if (tracerContext != null) {
tracerContext.registerProgressTracker(slingRequest.getRequestProgressTracker());
//if context created in this filter then enable the collector
if (createdContext) {
enableCollector(tracerContext);
}
}
filterChain.doFilter(servletRequest, servletResponse);
} finally {
if (tracerContext != null) {
tracerContext.done();
if (createdContext) {
disableCollector();
}
}
}
}