HDFS-17345. Add a metrics to record block report generating cost time. (#6475). Contributed by farmmamba.
Reviewed-by: Shuyan Zhang <zhangshuyan@apache.org> Signed-off-by: Shuyan Zhang <zhangshuyan@apache.org>
This commit is contained in:
parent
5584efd8d4
commit
7012986fc3
@ -458,6 +458,8 @@ Each metrics record contains tags such as SessionId and Hostname as additional i
|
|||||||
| `BlockReportsAvgTime` | Average time of block report operations in milliseconds |
|
| `BlockReportsAvgTime` | Average time of block report operations in milliseconds |
|
||||||
| `BlockReports`*ServiceId*`-`*NNId*`NumOps` | Total number of block report operations to specific serviceId and nnId |
|
| `BlockReports`*ServiceId*`-`*NNId*`NumOps` | Total number of block report operations to specific serviceId and nnId |
|
||||||
| `BlockReports`*ServiceId*`-`*NNId*`AvgTime` | Average time of block report operations to specific serviceId and nnId in milliseconds |
|
| `BlockReports`*ServiceId*`-`*NNId*`AvgTime` | Average time of block report operations to specific serviceId and nnId in milliseconds |
|
||||||
|
| `BlockReportsCreateCostMillsNumOps` | Total number of block report creating operations |
|
||||||
|
| `BlockReportsCreateCostMillsAvgTime` | Average time of block report creating operations in milliseconds |
|
||||||
| `IncrementalBlockReportsNumOps` | Total number of incremental block report operations |
|
| `IncrementalBlockReportsNumOps` | Total number of incremental block report operations |
|
||||||
| `IncrementalBlockReportsAvgTime` | Average time of incremental block report operations in milliseconds |
|
| `IncrementalBlockReportsAvgTime` | Average time of incremental block report operations in milliseconds |
|
||||||
| `IncrementalBlockReports`*ServiceId*`-`*NNId*`NumOps` | Total number of incremental block report operations to specific serviceId and nnId |
|
| `IncrementalBlockReports`*ServiceId*`-`*NNId*`NumOps` | Total number of incremental block report operations to specific serviceId and nnId |
|
||||||
|
@ -452,6 +452,7 @@ List<DatanodeCommand> blockReport(long fullBrLeaseId) throws IOException {
|
|||||||
// Log the block report processing stats from Datanode perspective
|
// Log the block report processing stats from Datanode perspective
|
||||||
long brSendCost = monotonicNow() - brSendStartTime;
|
long brSendCost = monotonicNow() - brSendStartTime;
|
||||||
long brCreateCost = brSendStartTime - brCreateStartTime;
|
long brCreateCost = brSendStartTime - brCreateStartTime;
|
||||||
|
dn.getMetrics().addBlockReportCreateCost(brCreateCost);
|
||||||
dn.getMetrics().addBlockReport(brSendCost, getRpcMetricSuffix());
|
dn.getMetrics().addBlockReport(brSendCost, getRpcMetricSuffix());
|
||||||
final int nCmds = cmds.size();
|
final int nCmds = cmds.size();
|
||||||
LOG.info((success ? "S" : "Uns") +
|
LOG.info((success ? "S" : "Uns") +
|
||||||
|
@ -132,6 +132,7 @@ public class DataNodeMetrics {
|
|||||||
@Metric MutableRate heartbeatsTotal;
|
@Metric MutableRate heartbeatsTotal;
|
||||||
@Metric MutableRate lifelines;
|
@Metric MutableRate lifelines;
|
||||||
@Metric MutableRate blockReports;
|
@Metric MutableRate blockReports;
|
||||||
|
@Metric private MutableRate blockReportsCreateCostMills;
|
||||||
@Metric MutableRate incrementalBlockReports;
|
@Metric MutableRate incrementalBlockReports;
|
||||||
@Metric MutableRate cacheReports;
|
@Metric MutableRate cacheReports;
|
||||||
@Metric MutableRate packetAckRoundTripTimeNanos;
|
@Metric MutableRate packetAckRoundTripTimeNanos;
|
||||||
@ -321,6 +322,10 @@ public void addBlockReport(long latency, String rpcMetricSuffix) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addBlockReportCreateCost(long latency) {
|
||||||
|
blockReportsCreateCostMills.add(latency);
|
||||||
|
}
|
||||||
|
|
||||||
public void addIncrementalBlockReport(long latency,
|
public void addIncrementalBlockReport(long latency,
|
||||||
String rpcMetricSuffix) {
|
String rpcMetricSuffix) {
|
||||||
incrementalBlockReports.add(latency);
|
incrementalBlockReports.add(latency);
|
||||||
|
Loading…
Reference in New Issue
Block a user