This is an automated email from the ASF dual-hosted git repository.

kturner pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 9b22be23d576f7744802bfcda7fbbd145104d652
Merge: d7cbdeceb7 7147177385
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Wed Oct 23 21:24:18 2024 +0000

    Merge branch '2.1' into 3.1

 .../org/apache/accumulo/server/fs/FileManager.java    |  4 ++++
 .../java/org/apache/accumulo/tserver/ScanServer.java  |  2 +-
 .../org/apache/accumulo/tserver/TabletServer.java     |  2 +-
 .../accumulo/tserver/TabletServerResourceManager.java |  4 ++++
 .../tserver/metrics/TabletServerScanMetrics.java      | 19 +++++++------------
 .../accumulo/tserver/tablet/ScanDataSource.java       |  3 ---
 6 files changed, 17 insertions(+), 17 deletions(-)

diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java
index e5b40c98d9,36fbd42de1..9275f6fd32
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java
@@@ -18,26 -18,10 +18,26 @@@
   */
  package org.apache.accumulo.tserver.metrics;
  
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_BUSY_TIMEOUT_COUNT;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_CLOSE;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_CONTINUE;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_OPEN_FILES;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_PAUSED_FOR_MEM;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_QUERIES;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_QUERY_SCAN_RESULTS;
 +import static 
org.apache.accumulo.core.metrics.Metric.SCAN_QUERY_SCAN_RESULTS_BYTES;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_RESULTS;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_RETURN_FOR_MEM;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_SCANNED_ENTRIES;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_START;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_TIMES;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_YIELDS;
 +import static org.apache.accumulo.core.metrics.Metric.SCAN_ZOMBIE_THREADS;
 +
  import java.time.Duration;
- import java.util.concurrent.atomic.AtomicInteger;
  import java.util.concurrent.atomic.AtomicLong;
  import java.util.concurrent.atomic.LongAdder;
+ import java.util.function.IntSupplier;
  
  import org.apache.accumulo.core.metrics.MetricsProducer;
  import org.apache.accumulo.server.metrics.NoopMetrics;
@@@ -95,36 -96,20 +94,28 @@@ public class TabletServerScanMetrics im
      yields.record(value);
    }
  
-   public void incrementOpenFiles(int delta) {
-     openFiles.addAndGet(Math.max(0, delta));
-   }
- 
-   public void decrementOpenFiles(int delta) {
-     openFiles.addAndGet(delta < 0 ? delta : delta * -1);
-   }
- 
 -  public void incrementStartScan(double value) {
 -    startScanCalls.increment(value);
 +  public void incrementStartScan() {
 +    startScanCalls.incrementAndGet();
    }
  
 -  public void incrementContinueScan(double value) {
 -    continueScanCalls.increment(value);
 +  public void incrementContinueScan() {
 +    continueScanCalls.incrementAndGet();
    }
  
 -  public void incrementCloseScan(double value) {
 -    closeScanCalls.increment(value);
 +  public void incrementCloseScan() {
 +    closeScanCalls.incrementAndGet();
    }
  
 -  public void incrementBusy(double value) {
 -    busyTimeoutCount.increment(value);
 +  public void incrementBusy() {
 +    busyTimeoutCount.incrementAndGet();
 +  }
 +
 +  public void incrementScanPausedForLowMemory() {
 +    pausedForMemory.incrementAndGet();
 +  }
 +
 +  public void incrementEarlyReturnForLowMemory() {
 +    earlyReturnForMemory.incrementAndGet();
    }
  
    public void setZombieScanThreads(long count) {
@@@ -135,42 -120,42 +126,46 @@@
      return zombieScanThreads.get();
    }
  
+   public TabletServerScanMetrics(IntSupplier openFileSupplier) {
+     openFiles = openFileSupplier;
+   }
+ 
    @Override
    public void registerMetrics(MeterRegistry registry) {
-     Gauge.builder(SCAN_OPEN_FILES.getName(), openFiles::get)
 -    Gauge.builder(METRICS_SCAN_OPEN_FILES, openFiles::getAsInt)
 -        .description("Number of files open for scans").register(registry);
 -    scans = 
Timer.builder(METRICS_SCAN_TIMES).description("Scans").register(registry);
 -    resultsPerScan = DistributionSummary.builder(METRICS_SCAN_RESULTS)
 -        .description("Results per scan").register(registry);
 -    yields =
 -        
DistributionSummary.builder(METRICS_SCAN_YIELDS).description("yields").register(registry);
 -    startScanCalls = Counter.builder(METRICS_SCAN_START)
 -        .description("calls to start a scan / multiscan").register(registry);
 -    continueScanCalls = Counter.builder(METRICS_SCAN_CONTINUE)
 -        .description("calls to continue a scan / 
multiscan").register(registry);
 -    closeScanCalls = Counter.builder(METRICS_SCAN_CLOSE)
 -        .description("calls to close a scan / multiscan").register(registry);
 -    busyTimeoutCount = Counter.builder(METRICS_SCAN_BUSY_TIMEOUT_COUNTER)
 -        .description("The number of scans where a busy timeout 
happened").register(registry);
 -    Gauge.builder(METRICS_SCAN_QUERIES, this, 
TabletServerScanMetrics::getLookupCount)
 -        .description("Number of queries").register(registry);
 -    Gauge
 -        .builder(METRICS_SCAN_QUERY_SCAN_RESULTS, this,
 -            TabletServerScanMetrics::getQueryResultCount)
 -        .description("Query rate (entries/sec)").register(registry);
 -    Gauge
 -        .builder(METRICS_SCAN_QUERY_SCAN_RESULTS_BYTES, this,
 -            TabletServerScanMetrics::getQueryByteCount)
 -        .description("Query rate (bytes/sec)").register(registry);
 -    Gauge.builder(METRICS_SCAN_SCANNED_ENTRIES, this, 
TabletServerScanMetrics::getScannedCount)
 -        .description("Scanned rate").register(registry);
 -    Gauge.builder(METRICS_SCAN_ZOMBIE_THREADS, this, 
TabletServerScanMetrics::getZombieThreadsCount)
 -        .description("Number of scan threads that have no associated client 
session")
++    Gauge.builder(SCAN_OPEN_FILES.getName(), openFiles::getAsInt)
 +        .description(SCAN_OPEN_FILES.getDescription()).register(registry);
 +    scans = 
Timer.builder(SCAN_TIMES.getName()).description(SCAN_TIMES.getDescription())
          .register(registry);
 +    resultsPerScan = DistributionSummary.builder(SCAN_RESULTS.getName())
 +        .description(SCAN_RESULTS.getDescription()).register(registry);
 +    yields = DistributionSummary.builder(SCAN_YIELDS.getName())
 +        .description(SCAN_YIELDS.getDescription()).register(registry);
 +    FunctionCounter.builder(SCAN_START.getName(), this.startScanCalls, 
AtomicLong::get)
 +        .description(SCAN_START.getDescription()).register(registry);
 +    FunctionCounter.builder(SCAN_CONTINUE.getName(), this.continueScanCalls, 
AtomicLong::get)
 +        .description(SCAN_CONTINUE.getDescription()).register(registry);
 +    FunctionCounter.builder(SCAN_CLOSE.getName(), this.closeScanCalls, 
AtomicLong::get)
 +        .description(SCAN_CLOSE.getDescription()).register(registry);
 +    FunctionCounter
 +        .builder(SCAN_BUSY_TIMEOUT_COUNT.getName(), this.busyTimeoutCount, 
AtomicLong::get)
 +        
.description(SCAN_BUSY_TIMEOUT_COUNT.getDescription()).register(registry);
 +    FunctionCounter.builder(SCAN_QUERIES.getName(), this.lookupCount, 
LongAdder::sum)
 +        .description(SCAN_QUERIES.getDescription()).register(registry);
 +    FunctionCounter.builder(SCAN_SCANNED_ENTRIES.getName(), 
this.scannedCount, LongAdder::sum)
 +        
.description(SCAN_SCANNED_ENTRIES.getDescription()).register(registry);
 +    FunctionCounter.builder(SCAN_PAUSED_FOR_MEM.getName(), 
this.pausedForMemory, AtomicLong::get)
 +        .description(SCAN_PAUSED_FOR_MEM.getDescription()).register(registry);
 +    FunctionCounter
 +        .builder(SCAN_RETURN_FOR_MEM.getName(), this.earlyReturnForMemory, 
AtomicLong::get)
 +        .description(SCAN_RETURN_FOR_MEM.getDescription()).register(registry);
 +    Gauge.builder(SCAN_QUERY_SCAN_RESULTS.getName(), this.queryResultCount, 
LongAdder::sum)
 +        
.description(SCAN_QUERY_SCAN_RESULTS.getDescription()).register(registry);
 +    Gauge.builder(SCAN_QUERY_SCAN_RESULTS_BYTES.getName(), 
this.queryResultBytes, LongAdder::sum)
 +        
.description(SCAN_QUERY_SCAN_RESULTS_BYTES.getDescription()).register(registry);
 +    Gauge
 +        .builder(SCAN_ZOMBIE_THREADS.getName(), this,
 +            TabletServerScanMetrics::getZombieThreadsCount)
 +        .description(SCAN_ZOMBIE_THREADS.getDescription()).register(registry);
    }
  
  }

Reply via email to