HADOOP-13065 added a new interface for retrieving FS and FC Statistics. This jira is to refactor the code that maintains rack-aware read metrics to use the newly added StorageStatistics. Specially,
- Rack-aware read bytes metrics is mostly specific to HDFS. For example, local file system doesn't need that. We consider to move it from base FileSystemStorageStatistics to a dedicated HDFS specific StorageStatistics sub-class.
- We would have to develop an optimized thread-local mechanism to do this, to avoid causing a performance regression in HDFS stream performance.
Optionally, it would be better to simply move this to HDFS's existing per-stream ReadStatistics for now. As
HDFS-9579 states, ReadStatistics metrics are only accessible via DFSClient or DFSInputStream. Not something that application framework such as MR and Tez can get to.