001package org.javasimon.javaee.reqreporter; 002 003import java.util.List; 004import javax.servlet.http.HttpServletRequest; 005 006import org.javasimon.Split; 007import org.javasimon.javaee.SimonServletFilter; 008 009/** 010 * RequestReporter interface . 011 * 012 * @author <a href="mailto:virgo47@gmail.com">Richard "Virgo" Richter</a> 013 */ 014public interface RequestReporter { 015 /** 016 * Reports request that exceeds the threshold. 017 * 018 * @param request offending HTTP request 019 * @param requestSplit split measuring the offending request 020 * @param splits list of all splits started for this request 021 */ 022 void reportRequest(HttpServletRequest request, Split requestSplit, List<Split> splits); 023 024 /** 025 * Called by initialization after the instance creation. Useful when {@link org.javasimon.Manager} is needed 026 * ({@link org.javasimon.javaee.SimonServletFilter#getManager()}) and possibly for other scenarios. 027 */ 028 void setSimonServletFilter(SimonServletFilter simonServletFilter); 029}