Class DataNodeDiskMetrics
java.lang.Object
org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeDiskMetrics
This class detects and maintains DataNode disk outliers and their
latencies for different ops (metadata, read, write).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThis structure is a wrapper over disk latencies. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDataNodeDiskMetrics(DataNode dn, long diskOutlierDetectionIntervalMs, org.apache.hadoop.conf.Configuration conf) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSlowDiskForTesting(String slowDiskPath, Map<org.apache.hadoop.hdfs.server.protocol.SlowDiskReports.DiskOp, Double> latencies) Use only for testing.longintlongvoidsetLowThresholdMs(long thresholdMs) voidsetMaxSlowDisksToExclude(int maxSlowDisksToExclude) voidsetMinOutlierDetectionDisks(long minDisks) void
-
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
-
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
-
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
-