Class DataNodeDiskMetrics

java.lang.Object
org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeDiskMetrics

@Private @Unstable public class DataNodeDiskMetrics extends Object
This class detects and maintains DataNode disk outliers and their latencies for different ops (metadata, read, write).
  • Field Details

    • LOG

      public static final org.slf4j.Logger LOG
  • Constructor Details

    • DataNodeDiskMetrics

      public DataNodeDiskMetrics(DataNode dn, long diskOutlierDetectionIntervalMs, org.apache.hadoop.conf.Configuration conf)
  • Method Details

    • getDiskOutliersStats

      public Map<String,Map<org.apache.hadoop.hdfs.server.protocol.SlowDiskReports.DiskOp,Double>> getDiskOutliersStats()
    • shutdownAndWait

      public void shutdownAndWait()
    • addSlowDiskForTesting

      @VisibleForTesting public void addSlowDiskForTesting(String slowDiskPath, Map<org.apache.hadoop.hdfs.server.protocol.SlowDiskReports.DiskOp,Double> latencies)
      Use only for testing.
    • getSlowDisksToExclude

      public List<String> getSlowDisksToExclude()
    • getMaxSlowDisksToExclude

      public int getMaxSlowDisksToExclude()
    • setMaxSlowDisksToExclude

      public void setMaxSlowDisksToExclude(int maxSlowDisksToExclude)
    • setLowThresholdMs

      public void setLowThresholdMs(long thresholdMs)
    • getLowThresholdMs

      public long getLowThresholdMs()
    • setMinOutlierDetectionDisks

      public void setMinOutlierDetectionDisks(long minDisks)
    • getMinOutlierDetectionDisks

      public long getMinOutlierDetectionDisks()
    • getSlowDiskDetector

      @VisibleForTesting public OutlierDetector getSlowDiskDetector()