Go to file
Mehakmeet Singh 363f8138d2
HADOOP-17461. Collect thread-level IOStatistics. (#4352)
This adds a thread-level collector of IOStatistics, IOStatisticsContext,
which can be:
* Retrieved for a thread and cached for access from other
  threads.
* reset() to record new statistics.
* Queried for live statistics through the
  IOStatisticsSource.getIOStatistics() method.
* Queries for a statistics aggregator for use in instrumented
  classes.
* Asked to create a serializable copy in snapshot()

The goal is to make it possible for applications with multiple
threads performing different work items simultaneously
to be able to collect statistics on the individual threads,
and so generate aggregate reports on the total work performed
for a specific job, query or similar unit of work.

Some changes in IOStatistics-gathering classes are needed for 
this feature
* Caching the active context's aggregator in the object's
  constructor
* Updating it in close()

Slightly more work is needed in multithreaded code,
such as the S3A committers, which collect statistics across
all threads used in task and job commit operations.

Currently the IOStatisticsContext-aware classes are:
* The S3A input stream, output stream and list iterators.
* RawLocalFileSystem's input and output streams.
* The S3A committers.
* The TaskPool class in hadoop-common, which propagates
  the active context into scheduled worker threads.

Collection of statistics in the IOStatisticsContext
is disabled process-wide by default until the feature 
is considered stable.

To enable the collection, set the option
fs.thread.level.iostatistics.enabled
to "true" in core-site.xml;
	
Contributed by Mehakmeet Singh and Steve Loughran
2022-07-27 11:23:06 +01:00
.github HADOOP-15184. Add GitHub pull request template. (#1419) 2019-09-11 11:10:11 +09:00
dev-support HADOOP-11867. Add a high-performance vectored read API. (#3904) 2022-06-23 17:09:16 -05:00
hadoop-assemblies HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-build-tools HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-client-modules HADOOP-18332. Remove rs-api dependency by downgrading jackson to 2.12.7. (#4552) 2022-07-16 18:18:52 +01:00
hadoop-cloud-storage-project HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-common-project HADOOP-17461. Collect thread-level IOStatistics. (#4352) 2022-07-27 11:23:06 +01:00
hadoop-dist HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-hdfs-project HDFS-15839. RBF: Cannot get method setBalancerBandwidth on Router Client. Contributed by Yang Yun. 2022-07-23 23:48:02 +05:30
hadoop-mapreduce-project MAPREDUCE-7372 MapReduce set permission too late in copyJar method (#4026). Contributed by Zhang Dongsheng. 2022-07-25 18:39:48 +00:00
hadoop-maven-plugins HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-minicluster HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-project HADOOP-18079. Upgrade Netty to 4.1.77. (#3977) (#4592) 2022-07-27 03:10:20 +08:00
hadoop-project-dist HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
hadoop-tools HADOOP-17461. Collect thread-level IOStatistics. (#4352) 2022-07-27 11:23:06 +01:00
hadoop-yarn-project Make upstream aware of 3.2.4 release. 2022-07-22 02:31:34 +00:00
licenses HADOOP-17666. Update LICENSE for 3.3.1 (#3011) 2021-05-21 18:15:48 -07:00
licenses-binary HADOOP-17666. Update LICENSE for 3.3.1 (#3011) 2021-05-21 18:15:48 -07:00
.gitattributes HADOOP-13598. Add eol=lf for unix format files in .gitattributes. Contributed by Yiqun Lin. 2016-09-14 11:14:31 +09:00
.gitignore YARN-10407. Add phantomjsdriver.log to gitignore. (#2244) 2021-02-17 10:28:17 +09:00
BUILDING.txt HADOOP-18214. Update BUILDING.txt (#3811) 2022-04-21 18:39:51 +01:00
LICENSE-binary HADOOP-18079. Upgrade Netty to 4.1.77. (#3977) (#4592) 2022-07-27 03:10:20 +08:00
LICENSE-binary-yarn-applications-catalog-webapp HADOOP-17666. Update LICENSE for 3.3.1 (#3011) 2021-05-21 18:15:48 -07:00
LICENSE-binary-yarn-ui HADOOP-17666. Update LICENSE for 3.3.1 (#3011) 2021-05-21 18:15:48 -07:00
LICENSE.txt HADOOP-18044. Hadoop - Upgrade to jQuery 3.6.0 (#3791) 2022-02-11 23:18:25 +08:00
NOTICE-binary HADOOP-18068. upgrade AWS SDK to 1.12.132 (#3864) 2022-01-18 12:20:12 +00:00
NOTICE.txt HADOOP-15958. Revisiting LICENSE and NOTICE files. 2019-08-27 13:47:12 +09:00
pom.xml HADOOP-18305. Preparing for 3.3.4 release: branch-3.3 version => 3.3.9 (#4482) 2022-06-22 13:09:50 +01:00
README.txt HADOOP-15958. Revisiting LICENSE and NOTICE files. 2019-08-27 13:47:12 +09:00
start-build-env.sh HADOOP-18052. Support Apple Silicon in start-build-env.sh (#3817) 2021-12-23 18:14:16 +09:00

For the latest information about Hadoop, please visit our website at:

   http://hadoop.apache.org/

and our wiki, at:

   https://cwiki.apache.org/confluence/display/HADOOP/