diff --git a/java/com/google/gerrit/metrics/proc/JGitMetricModule.java b/java/com/google/gerrit/metrics/proc/JGitMetricModule.java index 603599bfc5..b1eec3502c 100644 --- a/java/com/google/gerrit/metrics/proc/JGitMetricModule.java +++ b/java/com/google/gerrit/metrics/proc/JGitMetricModule.java @@ -14,6 +14,7 @@ package com.google.gerrit.metrics.proc; +import com.google.common.base.Supplier; import com.google.gerrit.metrics.CallbackMetric1; import com.google.gerrit.metrics.Description; import com.google.gerrit.metrics.Description.Units; @@ -33,13 +34,23 @@ public class JGitMetricModule extends MetricModule { new Description("Bytes of memory retained in JGit block cache.") .setGauge() .setUnit(Units.BYTES), - WindowCacheStats.getStats()::getOpenByteCount); + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getOpenByteCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/open_files", Long.class, new Description("File handles held open by JGit block cache.").setGauge().setUnit("fds"), - WindowCacheStats.getStats()::getOpenFileCount); + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getOpenFileCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/avg_load_time", @@ -47,55 +58,99 @@ public class JGitMetricModule extends MetricModule { new Description("Average time to load a cache entry for JGit block cache.") .setGauge() .setUnit(Units.NANOSECONDS), - WindowCacheStats.getStats()::getAverageLoadTime); + new Supplier() { + @Override + public Double get() { + return WindowCacheStats.getStats().getAverageLoadTime(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/eviction_count", Long.class, new Description("Cache evictions for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getEvictionCount); + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getEvictionCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/eviction_ratio", Double.class, new Description("Cache eviction ratio for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getEvictionRatio); + new Supplier() { + @Override + public Double get() { + return WindowCacheStats.getStats().getEvictionRatio(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/hit_count", Long.class, new Description("Cache hits for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getHitCount); + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getHitCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/hit_ratio", Double.class, new Description("Cache hit ratio for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getHitRatio); + new Supplier() { + @Override + public Double get() { + return WindowCacheStats.getStats().getHitRatio(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/load_failure_count", Long.class, new Description("Failed cache loads for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getLoadFailureCount); + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getLoadFailureCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/load_failure_ratio", Double.class, new Description("Failed cache load ratio for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getLoadFailureRatio); + new Supplier() { + @Override + public Double get() { + return WindowCacheStats.getStats().getLoadFailureRatio(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/load_success_count", Long.class, new Description("Successfull cache loads for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getLoadSuccessCount); - + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getLoadSuccessCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/miss_count", Long.class, new Description("Cache misses for JGit block cache.").setGauge(), - WindowCacheStats.getStats()::getMissCount); + new Supplier() { + @Override + public Long get() { + return WindowCacheStats.getStats().getMissCount(); + } + }); metrics.newCallbackMetric( "jgit/block_cache/miss_ratio",