This is an automated email from the ASF dual-hosted git repository. dlmarion pushed a commit to branch 3.1 in repository https://gitbox.apache.org/repos/asf/accumulo.git
commit d1527d448512ef6af2953b7f1796778ca2327b57 Merge: 7511372995 191377150d Author: Dave Marion <[email protected]> AuthorDate: Sun Nov 17 13:32:55 2024 +0000 Merge branch '2.1' into 3.1 .../apache/accumulo/server/metrics/ProcessMetrics.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --cc server/base/src/main/java/org/apache/accumulo/server/metrics/ProcessMetrics.java index e824da163b,626da841f7..fd14971b83 --- a/server/base/src/main/java/org/apache/accumulo/server/metrics/ProcessMetrics.java +++ b/server/base/src/main/java/org/apache/accumulo/server/metrics/ProcessMetrics.java @@@ -18,37 -18,27 +18,37 @@@ */ package org.apache.accumulo.server.metrics; +import static org.apache.accumulo.core.metrics.Metric.LOW_MEMORY; +import static org.apache.accumulo.core.metrics.Metric.SERVER_IDLE; + - import java.util.concurrent.atomic.AtomicInteger; + import java.util.concurrent.atomic.AtomicBoolean; import org.apache.accumulo.core.metrics.MetricsProducer; +import org.apache.accumulo.server.ServerContext; import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.MeterRegistry; public class ProcessMetrics implements MetricsProducer { + private final ServerContext context; - private final AtomicInteger isIdle; + private final AtomicBoolean isIdle; - public ProcessMetrics() { + public ProcessMetrics(final ServerContext context) { + this.context = context; - this.isIdle = new AtomicInteger(-1); + this.isIdle = new AtomicBoolean(true); } @Override public void registerMetrics(MeterRegistry registry) { - Gauge.builder(METRICS_SERVER_IDLE, this, this::getIdleAsDouble) - .description("Indicates if the server is idle or not. " - + "The value will be 1 when idle and 0 when not idle") - .register(registry); + Gauge.builder(LOW_MEMORY.getName(), this, this::lowMemDetected) + .description(LOW_MEMORY.getDescription()).register(registry); - Gauge.builder(SERVER_IDLE.getName(), isIdle, AtomicInteger::get) ++ Gauge.builder(SERVER_IDLE.getName(), this, this::getIdleAsDouble) + .description(SERVER_IDLE.getDescription()).register(registry); + } + + private int lowMemDetected(ProcessMetrics processMetrics) { + return context.getLowMemoryDetector().isRunningLowOnMemory() ? 1 : 0; } public void setIdleValue(boolean isIdle) {
