blob: fc6eb589b891cb0d1edb094d9ca87c0e255f81b9 [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_40) on Thu Jul 20 13:16:29 PDT 2017 -->
<title>KafkaAvgRecordTimeBasedWorkUnitSizeEstimator (gobblin-kafka-common 0.11.0 API)</title>
<meta name="date" content="2017-07-20">
<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="KafkaAvgRecordTimeBasedWorkUnitSizeEstimator (gobblin-kafka-common 0.11.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":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="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="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaAvgRecordSizeBasedWorkUnitSizeEstimator.html" title="class in gobblin.source.extractor.extract.kafka.workunit.packer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaBiLevelWorkUnitPacker.html" title="class in gobblin.source.extractor.extract.kafka.workunit.packer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?gobblin/source/extractor/extract/kafka/workunit/packer/KafkaAvgRecordTimeBasedWorkUnitSizeEstimator.html" target="_top">Frames</a></li>
<li><a href="KafkaAvgRecordTimeBasedWorkUnitSizeEstimator.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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">gobblin.source.extractor.extract.kafka.workunit.packer</div>
<h2 title="Class KafkaAvgRecordTimeBasedWorkUnitSizeEstimator" class="title">Class KafkaAvgRecordTimeBasedWorkUnitSizeEstimator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/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>gobblin.source.extractor.extract.kafka.workunit.packer.KafkaAvgRecordTimeBasedWorkUnitSizeEstimator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaWorkUnitSizeEstimator.html" title="interface in gobblin.source.extractor.extract.kafka.workunit.packer">KafkaWorkUnitSizeEstimator</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">KafkaAvgRecordTimeBasedWorkUnitSizeEstimator</span>
extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaWorkUnitSizeEstimator.html" title="interface in gobblin.source.extractor.extract.kafka.workunit.packer">KafkaWorkUnitSizeEstimator</a></pre>
<div class="block">An implementation of <a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaWorkUnitSizeEstimator.html" title="interface in gobblin.source.extractor.extract.kafka.workunit.packer"><code>KafkaWorkUnitSizeEstimator</code></a> which uses the average time to pull a record in the
previous run to estimate the sizes of <code>WorkUnits</code>.
Each partition pulled in the previous run should have an avg time per record in its <a href="http://linkedin.github.io/gobblin/javadoc/0.11.0/gobblin-api/gobblin/configuration/WorkUnitState.html?is-external=true" title="class or interface in gobblin.configuration"><code>WorkUnitState</code></a>. In the
next run, the estimated avg time per record for each topic is the geometric mean of the avg time per record of all
partitions. For example if a topic has two partitions whose avg time per record in the previous run are 2 and 8,
the next run will use 4 as the estimated avg time per record. The reason to choose geometric mean over algebraic
mean is because large numbers are likely outliers, e.g., a topic may have 5 partitions, and the avg time per record
collected from the previous run could sometimes be [1.1, 1.2, 1.1, 1.3, 100].
If a topic was not pulled in the previous run, its estimated avg time per record is the geometric mean of the
estimated avg time per record of all topics that were pulled in the previous run. If no topic was pulled in the
previous run, a default value of 1.0 is used.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaAvgRecordTimeBasedWorkUnitSizeEstimator.html#calcEstimatedSize-gobblin.source.workunit.WorkUnit-">calcEstimatedSize</a></span>(<a href="http://linkedin.github.io/gobblin/javadoc/0.11.0/gobblin-api/gobblin/source/workunit/WorkUnit.html?is-external=true" title="class or interface in gobblin.source.workunit">WorkUnit</a>&nbsp;workUnit)</code>
<div class="block">Estimates the size of a Kafka <a href="http://linkedin.github.io/gobblin/javadoc/0.11.0/gobblin-api/gobblin/source/workunit/WorkUnit.html?is-external=true" title="class or interface in gobblin.source.workunit"><code>WorkUnit</code></a>.</div>
</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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/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/7/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/7/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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="calcEstimatedSize-gobblin.source.workunit.WorkUnit-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>calcEstimatedSize</h4>
<pre>public&nbsp;double&nbsp;calcEstimatedSize(<a href="http://linkedin.github.io/gobblin/javadoc/0.11.0/gobblin-api/gobblin/source/workunit/WorkUnit.html?is-external=true" title="class or interface in gobblin.source.workunit">WorkUnit</a>&nbsp;workUnit)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaWorkUnitSizeEstimator.html#calcEstimatedSize-gobblin.source.workunit.WorkUnit-">KafkaWorkUnitSizeEstimator</a></code></span></div>
<div class="block">Estimates the size of a Kafka <a href="http://linkedin.github.io/gobblin/javadoc/0.11.0/gobblin-api/gobblin/source/workunit/WorkUnit.html?is-external=true" title="class or interface in gobblin.source.workunit"><code>WorkUnit</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaWorkUnitSizeEstimator.html#calcEstimatedSize-gobblin.source.workunit.WorkUnit-">calcEstimatedSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaWorkUnitSizeEstimator.html" title="interface in gobblin.source.extractor.extract.kafka.workunit.packer">KafkaWorkUnitSizeEstimator</a></code></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="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="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaAvgRecordSizeBasedWorkUnitSizeEstimator.html" title="class in gobblin.source.extractor.extract.kafka.workunit.packer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../gobblin/source/extractor/extract/kafka/workunit/packer/KafkaBiLevelWorkUnitPacker.html" title="class in gobblin.source.extractor.extract.kafka.workunit.packer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?gobblin/source/extractor/extract/kafka/workunit/packer/KafkaAvgRecordTimeBasedWorkUnitSizeEstimator.html" target="_top">Frames</a></li>
<li><a href="KafkaAvgRecordTimeBasedWorkUnitSizeEstimator.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>