blob: d1ee752128bdfe12382eed924378c4be4f896cfd [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:01:44 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FileSystem.Statistics (Apache Hadoop Common 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="FileSystem.Statistics (Apache Hadoop Common 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FileSystem.Statistics.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/hadoop/fs/FileSystem.DirListingIterator.html" title="class in org.apache.hadoop.fs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/fs/FileSystem.Statistics.html" target="_top">Frames</a></li>
<li><a href="FileSystem.Statistics.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.fs</div>
<h2 title="Class FileSystem.Statistics" class="title">Class FileSystem.Statistics</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.fs.FileSystem.Statistics</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a></dd>
</dl>
<hr>
<br>
<pre>public static final class <span class="typeNameLabel">FileSystem.Statistics</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Tracks statistics about how many reads, writes, and so forth have been
done in a FileSystem.
Since there is only one of these objects per FileSystem, there will
typically be many threads writing to this object. Almost every operation
on an open file will involve a write to this object. In contrast, reading
statistics is done infrequently by most programs, and not at all by others.
Hence, this is optimized for writes.
Each thread writes to its own thread-local area of memory. This removes
contention and allows us to scale up to many, many threads. To read
statistics, the reader thread totals up the contents of all of the
thread-local data areas.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics.StatisticsData</a></span></code>
<div class="block">Statistics data.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#Statistics-org.apache.hadoop.fs.FileSystem.Statistics-">Statistics</a></span>(<a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics</a>&nbsp;other)</code>
<div class="block">Copy constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#Statistics-java.lang.String-">Statistics</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scheme)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getBytesRead--">getBytesRead</a></span>()</code>
<div class="block">Get the total number of bytes read.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getBytesReadByDistance-int-">getBytesReadByDistance</a></span>(int&nbsp;distance)</code>
<div class="block">In the common network topology setup, distance value should be an even
number such as 0, 2, 4, 6.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getBytesReadErasureCoded--">getBytesReadErasureCoded</a></span>()</code>
<div class="block">Get the total number of bytes read on erasure-coded files.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getBytesWritten--">getBytesWritten</a></span>()</code>
<div class="block">Get the total number of bytes written.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics.StatisticsData</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getData--">getData</a></span>()</code>
<div class="block">Get all statistics data.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getLargeReadOps--">getLargeReadOps</a></span>()</code>
<div class="block">Get the number of large file system read operations such as list files
under a large directory.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getReadOps--">getReadOps</a></span>()</code>
<div class="block">Get the number of file system read operations such as list files.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getScheme--">getScheme</a></span>()</code>
<div class="block">Get the uri scheme associated with this statistics object.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics.StatisticsData</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getThreadStatistics--">getThreadStatistics</a></span>()</code>
<div class="block">Get or create the thread-local data associated with the current thread.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#getWriteOps--">getWriteOps</a></span>()</code>
<div class="block">Get the number of file system write operations such as create, append
rename etc.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementBytesRead-long-">incrementBytesRead</a></span>(long&nbsp;newBytes)</code>
<div class="block">Increment the bytes read in the statistics.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementBytesReadByDistance-int-long-">incrementBytesReadByDistance</a></span>(int&nbsp;distance,
long&nbsp;newBytes)</code>
<div class="block">Increment the bytes read by the network distance in the statistics
In the common network topology setup, distance value should be an even
number such as 0, 2, 4, 6.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementBytesReadErasureCoded-long-">incrementBytesReadErasureCoded</a></span>(long&nbsp;newBytes)</code>
<div class="block">Increment the bytes read on erasure-coded files in the statistics.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementBytesWritten-long-">incrementBytesWritten</a></span>(long&nbsp;newBytes)</code>
<div class="block">Increment the bytes written in the statistics.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementLargeReadOps-int-">incrementLargeReadOps</a></span>(int&nbsp;count)</code>
<div class="block">Increment the number of large read operations.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementReadOps-int-">incrementReadOps</a></span>(int&nbsp;count)</code>
<div class="block">Increment the number of read operations.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#incrementWriteOps-int-">incrementWriteOps</a></span>(int&nbsp;count)</code>
<div class="block">Increment the number of write operations.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#reset--">reset</a></span>()</code>
<div class="block">Resets all statistics to 0.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Statistics-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Statistics</h4>
<pre>public&nbsp;Statistics(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scheme)</pre>
</li>
</ul>
<a name="Statistics-org.apache.hadoop.fs.FileSystem.Statistics-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Statistics</h4>
<pre>public&nbsp;Statistics(<a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics</a>&nbsp;other)</pre>
<div class="block">Copy constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>other</code> - The input Statistics object which is cloned.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getThreadStatistics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadStatistics</h4>
<pre>public&nbsp;<a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics.StatisticsData</a>&nbsp;getThreadStatistics()</pre>
<div class="block">Get or create the thread-local data associated with the current thread.</div>
</li>
</ul>
<a name="incrementBytesRead-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementBytesRead</h4>
<pre>public&nbsp;void&nbsp;incrementBytesRead(long&nbsp;newBytes)</pre>
<div class="block">Increment the bytes read in the statistics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newBytes</code> - the additional bytes read</dd>
</dl>
</li>
</ul>
<a name="incrementBytesWritten-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementBytesWritten</h4>
<pre>public&nbsp;void&nbsp;incrementBytesWritten(long&nbsp;newBytes)</pre>
<div class="block">Increment the bytes written in the statistics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newBytes</code> - the additional bytes written</dd>
</dl>
</li>
</ul>
<a name="incrementReadOps-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementReadOps</h4>
<pre>public&nbsp;void&nbsp;incrementReadOps(int&nbsp;count)</pre>
<div class="block">Increment the number of read operations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>count</code> - number of read operations</dd>
</dl>
</li>
</ul>
<a name="incrementLargeReadOps-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementLargeReadOps</h4>
<pre>public&nbsp;void&nbsp;incrementLargeReadOps(int&nbsp;count)</pre>
<div class="block">Increment the number of large read operations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>count</code> - number of large read operations</dd>
</dl>
</li>
</ul>
<a name="incrementWriteOps-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementWriteOps</h4>
<pre>public&nbsp;void&nbsp;incrementWriteOps(int&nbsp;count)</pre>
<div class="block">Increment the number of write operations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>count</code> - number of write operations</dd>
</dl>
</li>
</ul>
<a name="incrementBytesReadErasureCoded-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementBytesReadErasureCoded</h4>
<pre>public&nbsp;void&nbsp;incrementBytesReadErasureCoded(long&nbsp;newBytes)</pre>
<div class="block">Increment the bytes read on erasure-coded files in the statistics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newBytes</code> - the additional bytes read</dd>
</dl>
</li>
</ul>
<a name="incrementBytesReadByDistance-int-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementBytesReadByDistance</h4>
<pre>public&nbsp;void&nbsp;incrementBytesReadByDistance(int&nbsp;distance,
long&nbsp;newBytes)</pre>
<div class="block">Increment the bytes read by the network distance in the statistics
In the common network topology setup, distance value should be an even
number such as 0, 2, 4, 6. To make it more general, we group distance
by {1, 2}, {3, 4} and {5 and beyond} for accounting.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>distance</code> - the network distance</dd>
<dd><code>newBytes</code> - the additional bytes read</dd>
</dl>
</li>
</ul>
<a name="getBytesRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBytesRead</h4>
<pre>public&nbsp;long&nbsp;getBytesRead()</pre>
<div class="block">Get the total number of bytes read.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes</dd>
</dl>
</li>
</ul>
<a name="getBytesWritten--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBytesWritten</h4>
<pre>public&nbsp;long&nbsp;getBytesWritten()</pre>
<div class="block">Get the total number of bytes written.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes</dd>
</dl>
</li>
</ul>
<a name="getReadOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadOps</h4>
<pre>public&nbsp;int&nbsp;getReadOps()</pre>
<div class="block">Get the number of file system read operations such as list files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of read operations</dd>
</dl>
</li>
</ul>
<a name="getLargeReadOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLargeReadOps</h4>
<pre>public&nbsp;int&nbsp;getLargeReadOps()</pre>
<div class="block">Get the number of large file system read operations such as list files
under a large directory.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of large read operations</dd>
</dl>
</li>
</ul>
<a name="getWriteOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteOps</h4>
<pre>public&nbsp;int&nbsp;getWriteOps()</pre>
<div class="block">Get the number of file system write operations such as create, append
rename etc.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of write operations</dd>
</dl>
</li>
</ul>
<a name="getBytesReadByDistance-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBytesReadByDistance</h4>
<pre>public&nbsp;long&nbsp;getBytesReadByDistance(int&nbsp;distance)</pre>
<div class="block">In the common network topology setup, distance value should be an even
number such as 0, 2, 4, 6. To make it more general, we group distance
by {1, 2}, {3, 4} and {5 and beyond} for accounting. So if the caller
ask for bytes read for distance 2, the function will return the value
for group {1, 2}.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>distance</code> - the network distance</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total number of bytes read by the network distance</dd>
</dl>
</li>
</ul>
<a name="getData--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getData</h4>
<pre>public&nbsp;<a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs">FileSystem.Statistics.StatisticsData</a>&nbsp;getData()</pre>
<div class="block">Get all statistics data.
MR or other frameworks can use the method to get all statistics at once.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the StatisticsData</dd>
</dl>
</li>
</ul>
<a name="getBytesReadErasureCoded--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBytesReadErasureCoded</h4>
<pre>public&nbsp;long&nbsp;getBytesReadErasureCoded()</pre>
<div class="block">Get the total number of bytes read on erasure-coded files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">Resets all statistics to 0.
In order to reset, we add up all the thread-local statistics data, and
set rootData to the negative of that.
This may seem like a counterintuitive way to reset the statistics. Why
can't we just zero out all the thread-local data? Well, thread-local
data can only be modified by the thread that owns it. If we tried to
modify the thread-local data from this thread, our modification might get
interleaved with a read-modify-write operation done by the thread that
owns the data. That would result in our update getting lost.
The approach used here avoids this problem because it only ever reads
(not writes) the thread-local data. Both reads and writes to rootData
are done under the lock, so we're free to modify rootData from any thread
that holds the lock.</div>
</li>
</ul>
<a name="getScheme--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getScheme</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getScheme()</pre>
<div class="block">Get the uri scheme associated with this statistics object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the schema associated with this set of statistics</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FileSystem.Statistics.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/hadoop/fs/FileSystem.DirListingIterator.html" title="class in org.apache.hadoop.fs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/fs/FileSystem.Statistics.StatisticsData.html" title="class in org.apache.hadoop.fs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/fs/FileSystem.Statistics.html" target="_top">Frames</a></li>
<li><a href="FileSystem.Statistics.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>