@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;
}