@Override public void log( Request request, Response response ) { // Trying to replicate this logback pattern: // %h %l %user [%t{dd/MMM/yyyy:HH:mm:ss Z}] "%r" %s %b "%i{Referer}" "%i{User-Agent}" %D String remoteHost = swallowExceptions( request, HttpServletRequest::getRemoteHost ); String user = swallowExceptions( request, HttpServletRequest::getRemoteUser ); String requestURL = swallowExceptions( request, HttpServletRequest::getRequestURI ) + "?" + swallowExceptions( request, HttpServletRequest::getQueryString ); int statusCode = response.getStatus(); long length = response.getContentLength(); String referer = swallowExceptions( request, r -> r.getHeader( "Referer" ) ); String userAgent = swallowExceptions( request, r -> r.getHeader( "User-Agent" ) ); long requestTimeStamp = request != null ? request.getTimeStamp() : -1; long now = System.currentTimeMillis(); long serviceTime = requestTimeStamp < 0 ? -1 : now - requestTimeStamp; log.info( "%s - %s [%tc] \"%s\" %s %s \"%s\" \"%s\" %s", defaultString( remoteHost ), defaultString( user ), now, defaultString( requestURL ), statusCode, length, defaultString( referer ), defaultString( userAgent ), serviceTime ); }
public String newNonce(Request request) { Nonce nonce; do { byte[] nounce = new byte[24]; _random.nextBytes(nounce); nonce = new Nonce(new String(B64Code.encode(nounce)), request.getTimeStamp(), getMaxNonceCount()); } while (_nonceMap.putIfAbsent(nonce._nonce, nonce) != null); _nonceQueue.add(nonce); return nonce._nonce; }
long expired = request.getTimeStamp() - getMaxNonceAge(); Nonce nonce = _nonceQueue.peek(); while (nonce != null && nonce._ts < expired)
buf.append(" ["); if (_logDateCache!=null) buf.append(_logDateCache.format(request.getTimeStamp())); else buf.append(request.getTimeStamp()); _writer.write(Long.toString(System.currentTimeMillis() - request.getTimeStamp()));
@Override public long getRequestTimestamp() { return request.getTimeStamp(); }
class SortRequest implements Comparator<Request>{ public int compare(Request r1, Request r2) { if(r1.getTimeStamp()!=r2.getTimeStamp()) return new Integer(r1.getTimeStamp()).compareTo(r2.getTimeStamp()); if(r1.getSiteId()!=r2.getSiteId()) return new Integer(r1.getSiteId()).compareTo(r2.getSiteId()); return 0; } }
public int compare(Request r1, Request r2) { int diff = Integer.compare(r1.getTimeStamp(), r2.getTimeStamp()); if (diff != 0) return diff; return Integer.compare(r1.siteId(), r2.siteId()); }
public String newNonce(Request request) { Nonce nonce; do { byte[] nounce = new byte[24]; _random.nextBytes(nounce); nonce = new Nonce(new String(B64Code.encode(nounce)),request.getTimeStamp(),_maxNC); } while (_nonceMap.putIfAbsent(nonce._nonce,nonce)!=null); _nonceQueue.add(nonce); return nonce._nonce; }
public String newNonce(Request request) { Nonce nonce; do { byte[] nounce = new byte[24]; _random.nextBytes(nounce); nonce = new Nonce(new String(B64Code.encode(nounce)),request.getTimeStamp(),_maxNC); } while (_nonceMap.putIfAbsent(nonce._nonce,nonce)!=null); _nonceQueue.add(nonce); return nonce._nonce; }
@Override public void log(Request request, Response response) { Duration requestTime = new Duration(max(0, System.currentTimeMillis() - request.getTimeStamp()), TimeUnit.MILLISECONDS); long dispatchTime = request.getTimeStamp(); Duration schedulingDelay = new Duration(max(0, dispatchTime - request.getTimeStamp()), TimeUnit.MILLISECONDS); stats.record(request.getMethod(), response.getStatus(), request.getContentRead(), response.getContentCount(), schedulingDelay, requestTime); } }
@Override public void log(Request request, Response response) { Duration requestTime = new Duration(max(0, System.currentTimeMillis() - request.getTimeStamp()), TimeUnit.MILLISECONDS); stats.record(request.getContentRead(), response.getContentCount(), requestTime); } }
public void onComplete(Continuation continuation) { final Request request = ((AsyncContinuation)continuation).getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!continuation.isResumed()) _suspendStats.decrement(); }
public void onComplete(Continuation continuation) { final Request request = ((AsyncContinuation)continuation).getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!continuation.isResumed()) _suspendStats.decrement(); }
public void onComplete(Continuation continuation) { final Request request = ((AsyncContinuation)continuation).getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!continuation.isResumed()) _suspendStats.decrement(); }
public void onComplete(Continuation continuation) { final Request request = ((AsyncContinuation)continuation).getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!continuation.isResumed()) _suspendStats.decrement(); }
public void onComplete(Continuation continuation) { final Request request = ((AsyncContinuation)continuation).getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!continuation.isResumed()) _suspendStats.decrement(); }
private void updateResponses(Request request) { final int response = request.getResponse().getStatus() / 100; if (response >= 1 && response <= 5) { responses[response - 1].mark(); } activeRequests.dec(); final long elapsedTime = System.currentTimeMillis() - request.getTimeStamp(); requests.update(elapsedTime, TimeUnit.MILLISECONDS); requestTimer(request.getMethod()).update(elapsedTime, TimeUnit.MILLISECONDS); } }
@Override public void onComplete(AsyncEvent event) throws IOException { HttpChannelState state = (HttpChannelState)event.getAsyncContext(); Request request = state.getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!state.isDispatched()) _asyncWaitStats.decrement(); }
@Override public void onComplete(AsyncEvent event) throws IOException { HttpChannelState state = (HttpChannelState)event.getAsyncContext(); Request request = state.getBaseRequest(); final long elapsed = System.currentTimeMillis()-request.getTimeStamp(); _requestStats.decrement(); _requestTimeStats.set(elapsed); updateResponse(request); if (!state.isDispatched()) _asyncWaitStats.decrement(); }
@Override public void log(Request request, Response response) { Duration requestTime = new Duration(max(0, System.currentTimeMillis() - request.getTimeStamp()), TimeUnit.MILLISECONDS); SSLSession sslSession = (SSLSession) request.getAttribute(REQUEST_SSL_SESSION_ATTRIBUTE); stats.record(request.getContentRead(), response.getContentCount(), requestTime); detailedRequestStats.requestTimeByCode(response.getStatus(), response.getStatus() / 100).add(requestTime); if (sslSession != null) { detailedRequestStats.tlsRequest(sslSession.getProtocol(), sslSession.getCipherSuite()).add(1); } } }