@Override public boolean doMonitor(ServiceEmitter emitter) { long newTotalEmittedEvents = httpPostEmitter.getTotalEmittedEvents(); long totalEmittedEventsDiff = newTotalEmittedEvents - lastTotalEmittedEvents; emitter.emit(builder.build("emitter/events/emitted", totalEmittedEventsDiff)); lastTotalEmittedEvents = newTotalEmittedEvents; int newDroppedBuffers = httpPostEmitter.getDroppedBuffers(); int droppedBuffersDiff = newDroppedBuffers - lastDroppedBuffers; emitter.emit(builder.build("emitter/buffers/dropped", droppedBuffersDiff)); lastDroppedBuffers = newDroppedBuffers; emitTimeCounterMetrics(emitter, httpPostEmitter.getBatchFillingTimeCounter(), "emitter/batchFilling/"); emitTimeCounterMetrics(emitter, httpPostEmitter.getSuccessfulSendingTimeCounter(), "emitter/successfulSending/"); emitTimeCounterMetrics(emitter, httpPostEmitter.getFailedSendingTimeCounter(), "emitter/failedSending/"); emitter.emit(builder.build("emitter/events/emitQueue", httpPostEmitter.getEventsToEmit())); emitter.emit(builder.build("emitter/events/large/emitQueue", httpPostEmitter.getLargeEventsToEmit())); emitter.emit(builder.build("emitter/buffers/totalAllocated", httpPostEmitter.getTotalAllocatedBuffers())); emitter.emit(builder.build("emitter/buffers/emitQueue", httpPostEmitter.getBuffersToEmit())); emitter.emit(builder.build("emitter/buffers/failed", httpPostEmitter.getFailedBuffers())); emitter.emit(builder.build("emitter/buffers/reuseQueue", httpPostEmitter.getBuffersToReuse())); return true; }