Counter implements Cloneable, Serializable { public void addRequest(String requestName, long duration, int cpuTime, int allocatedKBytes, boolean systemError, long responseSize) { addRequest(requestName, duration, cpuTime, allocatedKBytes, systemError, null, responseSize); } Counter(String name, String iconName);  Counter(String name, String storageName, String iconName, String childCounterName);  Counter(String name, String iconName, Counter childCounter); private  Counter(String name, String storageName, String iconName, String childCounterName,
			ThreadLocal<CounterRequestContext> contextThreadLocal); String getName(); String getStorageName(); String getIconName(); String getChildCounterName(); Date getStartDate(); boolean isDisplayed(); void setDisplayed(boolean displayed); boolean isUsed(); void setUsed(boolean used); void setRequestTransformPattern(Pattern requestTransformPattern); void setMaxRequestsCount(int maxRequestsCount); void bindContextIncludingCpu(String requestName); void bindContext(String requestName, String completeRequestName,
			HttpServletRequest httpRequest, long startCpuTime, long startAllocatedBytes); void unbindContext(); void addRequestForCurrentContext(boolean systemError); void addRequestForCurrentContext(String systemErrorStackTrace); void addRequest(String requestName, long duration, int cpuTime, int allocatedKBytes,
			boolean systemError, long responseSize); void addRequestForSystemError(String requestName, long duration, int cpuTime,
			int allocatedKBytes, String stackTrace); void addRumHit(String requestName, long networkTime, long domProcessing,
			long pageRendering); boolean isErrorCounter(); boolean isJobCounter(); boolean isJspOrStrutsCounter(); boolean isBusinessFacadeCounter(); boolean isRequestIdFromThisCounter(String requestId); void addErrors(List<CounterError> counterErrorList); CounterRequest getCounterRequest(CounterRequestContext context); CounterRequest getCounterRequestByName(String requestName, boolean saveRequestIfAbsent); CounterRequest getCounterRequestById(String requestId); int getRequestsCount(); List<CounterRequest> getRequests(); List<CounterRequest> getOrderedRequests(); List<CounterError> getErrors(); int getErrorsCount(); void clear(); @Override //CHECKSTYLE:OFF Counter clone(); @Override String toString(); static final String HTTP_COUNTER_NAME; static final String ERROR_COUNTER_NAME; static final String LOG_COUNTER_NAME; static final String JSP_COUNTER_NAME; static final String STRUTS_COUNTER_NAME; static final String JSF_COUNTER_NAME; static final String SQL_COUNTER_NAME; static final String JOB_COUNTER_NAME; static final String BUILDS_COUNTER_NAME; static final int MAX_ERRORS_COUNT; }
@Test public void testAddRequest() { final CounterRequest request = createCounterRequest(); counter.bindContext(request.getName(), request.getName(), null, -1, -1); counter.addRequest(request.getName(), request.getMean(), 0, 0, false, request.getResponseSizeMean()); final List<CounterRequest> before = counter.getOrderedRequests(); counter.addRequest(request.getName(), request.getMean(), 0, 0, false, request.getResponseSizeMean()); counter.setRequestTransformPattern(Pattern.compile("aaaaa")); counter.addRequest(request.getName(), request.getMean(), 0, 0, false, request.getResponseSizeMean()); final List<CounterRequest> after = counter.getOrderedRequests(); after.get(0).removeHits(request); after.get(0).removeHits(request); assertEquals("requests", before.toString(), after.toString()); final Counter sqlCounter = new Counter("sql", null); final Counter httpCounter = new Counter("http", null, sqlCounter); httpCounter.bindContext("http request", "http request", null, -1, -1); final String sqlRequest = "sql request"; sqlCounter.bindContext(sqlRequest, sqlRequest, null, -1, -1); sqlCounter.addRequest(sqlRequest, 0, 0, 0, false, -1); sqlCounter.addRequest(sqlRequest, 0, 0, 0, false, -1); httpCounter.addRequest("http request", 10, 2, 2, false, 100); }