public void terminate() { CollectorRegistry.defaultRegistry.unregister(storeCollector); CollectorRegistry.defaultRegistry.unregister(entryCollector); CollectorRegistry.defaultRegistry.unregister(metaCollector); CollectorRegistry.defaultRegistry.unregister(sinkCollector); CollectorRegistry.defaultRegistry.unregister(parserCollector); }
@Override public void start() { if (outboundCounter != null) { outboundCounter.register(); } if (packetsCounter != null) { packetsCounter.register(); } if (emptyBatchesCounter != null) { emptyBatchesCounter.register(); } if (errorsCounter != null) { errorsCounter.register(); } if (responseLatency != null) { responseLatency.register(); } running = true; }
private PrometheusClientInstanceProfiler() { this.outboundCounter = Counter.build() .labelNames(DEST_LABELS) .name(OUTBOUND_BYTES) .help("Total bytes sent to client.") .create(); this.packetsCounter = Counter.build() .labelNames(new String[]{DEST, "packetType"}) .name(PACKET_TYPE) .help("Total packets sent to client.") .create(); this.emptyBatchesCounter = Counter.build() .labelNames(DEST_LABELS) .name(EMPTY_BATCHES) .help("Total empty batches sent to client.") .create(); this.errorsCounter = Counter.build() .labelNames(new String[]{DEST, "errorCode"}) .name(ERRORS) .help("Total client request errors.") .create(); this.responseLatency = Histogram.build() .labelNames(DEST_LABELS) .name(LATENCY) .help("Client request latency.") // buckets in milliseconds .buckets(2.5, 10.0, 25.0, 100.0) .create(); }
@Override public Timer startTimer() { final Histogram.Timer timer = histogram.startTimer(); totalCounter.inc(); return new Timer() { @Override public void onError() { errorCounter.inc(); } @Override public void onSuccess() { timer.observeDuration(); } }; } }
@Override public void onError() { errorCounter.inc(); }
private void singleCollect(CounterMetricFamily bytesCounter, CounterMetricFamily blockingCounter, GaugeMetricFamily modeGauge, ParserMetricsHolder holder) { if (holder.isParallel) { blockingCounter.addMetric(holder.parserLabelValues, (holder.eventsPublishBlockingTime.doubleValue() / NANO_PER_MILLI)); } modeGauge.addMetric(holder.modeLabelValues, 1); bytesCounter.addMetric(holder.parserLabelValues, holder.receivedBinlogBytes.doubleValue()); }
@Override public Timer startTimer() { final Histogram.Timer timer = collectors.histogram.startTimer(); collectors.totalCounter.inc(); return new Timer() { @Override public void onError() { collectors.errorCounter.inc(); } @Override public void onSuccess() { timer.observeDuration(); } }; }
@Override public void onError() { collectors.errorCounter.inc(); }
@Override public void mark(final long n) { summary.observe(n); } }
@Override public void onSuccess() { timer.observeDuration(); } };
@Override public void dec(final long n) { gauge.dec(n); } }
@Override public void onSuccess() { timer.observeDuration(); } };
@Override public void stop() { running = false; if (outboundCounter != null) { CollectorRegistry.defaultRegistry.unregister(outboundCounter); } if (packetsCounter != null) { CollectorRegistry.defaultRegistry.unregister(packetsCounter); } if (emptyBatchesCounter != null) { CollectorRegistry.defaultRegistry.unregister(emptyBatchesCounter); } if (errorsCounter != null) { CollectorRegistry.defaultRegistry.unregister(errorsCounter); } if (responseLatency != null) { CollectorRegistry.defaultRegistry.unregister(responseLatency); } }