@PreDestroy public void shutdown() { request.stop(); readBytes.stop(); writtenBytes.stop(); executor.shutdown(); }
public void record( String method, int responseCode, long requestSizeInBytes, long responseSizeInBytes, Duration schedulingDelay, Duration requestProcessingTime) { request.update(1); requestTime.update((long) requestProcessingTime.toMillis()); readBytes.update(requestSizeInBytes); writtenBytes.update(responseSizeInBytes); }
@Inject public RequestStats() { executor = new ScheduledThreadPoolExecutor( 2, new ThreadFactoryBuilder() .setNameFormat("RequestStatsTicker-%s") .setDaemon(true) .build()); request = new CounterStat(executor); requestTime = new TimeStat(); readBytes = new MeterStat(executor); writtenBytes = new MeterStat(executor); request.start(); readBytes.start(); writtenBytes.start(); }