public static void setRequestStartTime(HttpServerExchange existing, HttpServerExchange newExchange) { newExchange.setRequestStartTime(existing.getRequestStartTime()); }
@Override public String readAttribute(HttpServerExchange exchange) { long requestStartTime = exchange.getRequestStartTime(); if(requestStartTime == -1) { return null;
@Override public void exchangeEvent(HttpServerExchange exchange, NextListener nextListener) { try { activeRequestsUpdater.decrementAndGet(ConnectorStatisticsImpl.this); if (exchange.getStatusCode() == StatusCodes.INTERNAL_SERVER_ERROR) { errorCountUpdater.incrementAndGet(ConnectorStatisticsImpl.this); } long start = exchange.getRequestStartTime(); if (start > 0) { long elapsed = System.nanoTime() - start; processingTimeUpdater.addAndGet(ConnectorStatisticsImpl.this, elapsed); long oldMax; do { oldMax = maxProcessingTimeUpdater.get(ConnectorStatisticsImpl.this); if (oldMax >= elapsed) { break; } } while (!maxProcessingTimeUpdater.compareAndSet(ConnectorStatisticsImpl.this, oldMax, elapsed)); } } finally { nextListener.proceed(); } } };
/** {@inheritDoc} */ @Override public long getRequestTimestamp() { long currentTimeMillis = System.currentTimeMillis(); long nanoTime = System.nanoTime(); long requestStartTime = exchange.getRequestStartTime(); return currentTimeMillis - TimeUnit.NANOSECONDS.toMillis(nanoTime - requestStartTime); }
public static void setRequestStartTime(HttpServerExchange existing, HttpServerExchange newExchange) { newExchange.setRequestStartTime(existing.getRequestStartTime()); }
public static void setRequestStartTime(HttpServerExchange existing, HttpServerExchange newExchange) { newExchange.setRequestStartTime(existing.getRequestStartTime()); }
private void addTimingRequestHeaders(HttpServerExchange exchange) { long requestStartTime = exchange.getRequestStartTime(); long loginTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - requestStartTime); HeaderMap headers = exchange.getRequestHeaders(); headers.add(HEADER_START_TIME, requestStartTime); headers.add(HEADER_LOGIN_TIME, loginTime); }
@Override public String readAttribute(HttpServerExchange exchange) { long requestStartTime = exchange.getRequestStartTime(); if(requestStartTime == -1) { return null;
@Override public String readAttribute(HttpServerExchange exchange) { long requestStartTime = exchange.getRequestStartTime(); if(requestStartTime == -1) { return null;
@Override final public void exchangeEvent(final HttpServerExchange exchange, final NextListener nextListener) { try { this.exchange = exchange; this.requestHeaders = exchange.getRequestHeaders(); this.destinationAddress = exchange.getDestinationAddress(); this.sourceAddress = exchange.getSourceAddress(); this.nanoStartTime = exchange.getRequestStartTime(); this.nanoEndTime = System.nanoTime(); this.logDateTime = LocalDateTime.now(); logger.accept(this); } finally { nextListener.proceed(); } }
@Override public void exchangeEvent(HttpServerExchange exchange, NextListener nextListener) { try { activeRequestsUpdater.decrementAndGet(ConnectorStatisticsImpl.this); if (exchange.getStatusCode() == StatusCodes.INTERNAL_SERVER_ERROR) { errorCountUpdater.incrementAndGet(ConnectorStatisticsImpl.this); } long start = exchange.getRequestStartTime(); if (start > 0) { long elapsed = System.nanoTime() - start; processingTimeUpdater.addAndGet(ConnectorStatisticsImpl.this, elapsed); long oldMax; do { oldMax = maxProcessingTimeUpdater.get(ConnectorStatisticsImpl.this); if (oldMax >= elapsed) { break; } } while (!maxProcessingTimeUpdater.compareAndSet(ConnectorStatisticsImpl.this, oldMax, elapsed)); } } finally { nextListener.proceed(); } } };
@Override public void exchangeEvent(HttpServerExchange exchange, NextListener nextListener) { try { activeRequestsUpdater.decrementAndGet(ConnectorStatisticsImpl.this); if (exchange.getStatusCode() == StatusCodes.INTERNAL_SERVER_ERROR) { errorCountUpdater.incrementAndGet(ConnectorStatisticsImpl.this); } long start = exchange.getRequestStartTime(); if (start > 0) { long elapsed = System.nanoTime() - start; processingTimeUpdater.addAndGet(ConnectorStatisticsImpl.this, elapsed); long oldMax; do { oldMax = maxProcessingTimeUpdater.get(ConnectorStatisticsImpl.this); if (oldMax >= elapsed) { break; } } while (!maxProcessingTimeUpdater.compareAndSet(ConnectorStatisticsImpl.this, oldMax, elapsed)); } } finally { nextListener.proceed(); } } };