fix(hstore): JRaft Timer Metrics BUG (#2602)

This commit is contained in:
YangJiaqi 2024-08-02 23:47:56 +08:00 committed by GitHub
parent 53f0e18216
commit 91f5b33bac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 29 additions and 11 deletions

View File

@ -214,18 +214,36 @@ public class JRaftMetrics {
String baseName = PREFIX + "." + name.toLowerCase();
Gauge.builder(baseName + ".count", timer, Timer::getCount)
Gauge.builder(baseName + ".count", timer, t->t.getCount())
.tags(tags).register(registry);
Gauge.builder(baseName + ".min", timer, t -> t.getSnapshot().getMin())
.tags(tags).register(registry);
Gauge.builder(baseName + ".max", timer, t -> t.getSnapshot().getMax())
.tags(tags).register(registry);
Gauge.builder(baseName + ".mean", timer, t -> t.getSnapshot().getMean())
.tags(tags).register(registry);
Gauge.builder(baseName + ".stddev", timer, t -> t.getSnapshot().getStdDev())
.tags(tags).register(registry);
Gauge.builder(baseName + ".p50", timer, t -> t.getSnapshot().getMedian())
.tags(tags).register(registry);
Gauge.builder(baseName + ".p75", timer, t -> t.getSnapshot().get75thPercentile())
.tags(tags).register(registry);
Gauge.builder(baseName + ".p95", timer, t -> t.getSnapshot().get95thPercentile())
.tags(tags).register(registry);
Gauge.builder(baseName + ".p98", timer, t -> t.getSnapshot().get98thPercentile())
.tags(tags).register(registry);
Gauge.builder(baseName + ".p99", timer, t -> t.getSnapshot().get99thPercentile())
.tags(tags).register(registry);
Gauge.builder(baseName + ".p999", timer, t -> t.getSnapshot().get999thPercentile())
.tags(tags).register(registry);
Gauge.builder(baseName + ".m1_rate", timer, t -> t.getOneMinuteRate())
.tags(tags).register(registry);
Gauge.builder(baseName + ".m5_rate", timer, t -> t.getFiveMinuteRate())
.tags(tags).register(registry);
Gauge.builder(baseName + ".m15_rate", timer, t -> t.getFifteenMinuteRate())
.tags(tags).register(registry);
Gauge.builder(baseName + ".mean_rate", timer, t -> t.getMeanRate())
.tags(tags).register(registry);
Gauge.builder(baseName + ".timer", timer, Timer::getCount)
.tags(tags).tag("rate", "1m").register(registry);
Gauge.builder(baseName + ".timer", timer, Timer::getCount)
.tags(tags).tag("rate", "5m").register(registry);
Gauge.builder(baseName + ".timer", timer, Timer::getCount)
.tags(tags).tag("rate", "15m").register(registry);
Gauge.builder(baseName + ".timer", timer, Timer::getCount)
.tags(tags).tag("rate", "mean").register(registry);
}
private static void registerMeter(String group, String name, com.codahale.metrics.Meter meter) {