001 package org.javasimon.javaee.reqreporter;
002
003 import java.util.List;
004 import javax.servlet.http.HttpServletRequest;
005
006 import org.javasimon.Split;
007 import org.javasimon.javaee.SimonServletFilter;
008
009 /**
010 * RequestReporter interface .
011 *
012 * @author <a href="mailto:virgo47@gmail.com">Richard "Virgo" Richter</a>
013 */
014 public 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 }