@Inject public EsIndexProducerImpl(final IndexFig config, final EsProvider provider, final MetricsFactory metricsFactory, final IndexFig indexFig) { this.indexSizeCounter = metricsFactory.getCounter(EsIndexProducerImpl.class, "index_buffer.size"); this.roundtripTimer = metricsFactory.getHistogram(EsIndexProducerImpl.class, "index_buffer.message_cycle"); //wire up the gauge of inflight messages metricsFactory.addGauge(EsIndexProducerImpl.class, "index_buffer.inflight", () -> inFlight.longValue()); this.indexTimer = metricsFactory.getTimer( EsIndexProducerImpl.class, "index" ); this.config = config; this.failureMonitor = new FailureMonitorImpl(config, provider); this.client = provider.getClient(); this.indexFig = indexFig; //batch up sets of some size and send them in batch }
metricsFactory.addGauge(AsyncEventServiceImpl.class, "async-event.inflight", new Gauge<Long>() { @Override public Long getValue() {