blob: 7e9b32d24cc7c1129e8ae1f8d174a52cab1a14ea [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.18) on Wed Mar 01 02:01:42 GMT 2023 -->
<title>PackingPlan (Heron Java API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-03-01">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PackingPlan (Heron Java API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":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";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.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" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.heron.spi.packing</a></div>
<h2 title="Class PackingPlan" class="title">Class PackingPlan</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.heron.spi.packing.PackingPlan</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">PackingPlan</span>
extends java.lang.Object</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PackingPlan.InstancePlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.InstancePlan</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.util.Set)">PackingPlan</a></span>&#8203;(java.lang.String&nbsp;id,
java.util.Set&lt;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;&nbsp;containers)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="PackingPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cloneWithHomogeneousScheduledResource()">cloneWithHomogeneousScheduledResource</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a clone of <a href="PackingPlan.html" title="class in org.apache.heron.spi.packing"><code>PackingPlan</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(java.lang.Object&nbsp;o)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,&#8203;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getComponentCounts()">getComponentCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Return a map containing the count of all of the components, keyed by name</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getComponentRamDistribution()">getComponentRamDistribution</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the formatted String describing component RAM distribution from PackingPlan,
used by executor</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>com.google.common.base.Optional&lt;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContainer(int)">getContainer</a></span>&#8203;(int&nbsp;containerId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContainers()">getContainers</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContainersMap()">getContainersMap</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstanceCount()">getInstanceCount</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="Resource.html" title="class in org.apache.heron.spi.packing">Resource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxContainerResources()">getMaxContainerResources</a></span>()</code></th>
<td class="colLast">
<div class="block">Computes the maximum of all the resources required by the containers in the packing plan.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.String,java.util.Set)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PackingPlan</h4>
<pre>public&nbsp;PackingPlan&#8203;(java.lang.String&nbsp;id,
java.util.Set&lt;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;&nbsp;containers)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getMaxContainerResources()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxContainerResources</h4>
<pre class="methodSignature">public&nbsp;<a href="Resource.html" title="class in org.apache.heron.spi.packing">Resource</a>&nbsp;getMaxContainerResources()</pre>
<div class="block">Computes the maximum of all the resources required by the containers in the packing plan. If
the PackingPlan has already been scheduled, the scheduled resources will be used over the
required resources.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>maximum Resources found in all containers.</dd>
</dl>
</li>
</ul>
<a id="cloneWithHomogeneousScheduledResource()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cloneWithHomogeneousScheduledResource</h4>
<pre class="methodSignature">public&nbsp;<a href="PackingPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan</a>&nbsp;cloneWithHomogeneousScheduledResource()</pre>
<div class="block">Creates a clone of <a href="PackingPlan.html" title="class in org.apache.heron.spi.packing"><code>PackingPlan</code></a>. It also computes the maximum of all the resources
required by containers in the packing plan and updates the containers of the clone with the
max resource information</div>
</li>
</ul>
<a id="getId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getId()</pre>
</li>
</ul>
<a id="getContainers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContainers</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;&nbsp;getContainers()</pre>
</li>
</ul>
<a id="getContainersMap()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContainersMap</h4>
<pre class="methodSignature">public&nbsp;java.util.Map&lt;java.lang.Integer,&#8203;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;&nbsp;getContainersMap()</pre>
</li>
</ul>
<a id="getContainer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContainer</h4>
<pre class="methodSignature">public&nbsp;com.google.common.base.Optional&lt;<a href="PackingPlan.ContainerPlan.html" title="class in org.apache.heron.spi.packing">PackingPlan.ContainerPlan</a>&gt;&nbsp;getContainer&#8203;(int&nbsp;containerId)</pre>
</li>
</ul>
<a id="getInstanceCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstanceCount</h4>
<pre class="methodSignature">public&nbsp;java.lang.Integer&nbsp;getInstanceCount()</pre>
</li>
</ul>
<a id="getComponentCounts()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getComponentCounts</h4>
<pre class="methodSignature">public&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.Integer&gt;&nbsp;getComponentCounts()</pre>
<div class="block">Return a map containing the count of all of the components, keyed by name</div>
</li>
</ul>
<a id="getComponentRamDistribution()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getComponentRamDistribution</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getComponentRamDistribution()</pre>
<div class="block">Get the formatted String describing component RAM distribution from PackingPlan,
used by executor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String describing component RAM distribution</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(java.lang.Object&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.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" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>