blob: 9d42cedf7a4acdb662890bb3b1e0d7b5262428c8 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>apache_beam.tools.teststream_microbenchmark module &mdash; Apache Beam documentation</title>
<script type="text/javascript" src="_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="apache_beam.tools.utils module" href="apache_beam.tools.utils.html" />
<link rel="prev" title="apache_beam.tools.sideinput_microbenchmark module" href="apache_beam.tools.sideinput_microbenchmark.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> Apache Beam
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="apache_beam.coders.html">apache_beam.coders package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.dataframe.html">apache_beam.dataframe package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.internal.html">apache_beam.internal package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.metrics.html">apache_beam.metrics package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.ml.html">apache_beam.ml package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.options.html">apache_beam.options package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.portability.html">apache_beam.portability package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.runners.html">apache_beam.runners package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.testing.html">apache_beam.testing package</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="apache_beam.tools.html">apache_beam.tools package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.tools.html#submodules">Submodules</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.tools.coders_microbenchmark.html">apache_beam.tools.coders_microbenchmark module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.tools.distribution_counter_microbenchmark.html">apache_beam.tools.distribution_counter_microbenchmark module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.tools.fn_api_runner_microbenchmark.html">apache_beam.tools.fn_api_runner_microbenchmark module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.tools.runtime_type_check_microbenchmark.html">apache_beam.tools.runtime_type_check_microbenchmark module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.tools.sideinput_microbenchmark.html">apache_beam.tools.sideinput_microbenchmark module</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">apache_beam.tools.teststream_microbenchmark module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.tools.utils.html">apache_beam.tools.utils module</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.transforms.html">apache_beam.transforms package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.typehints.html">apache_beam.typehints package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.utils.html">apache_beam.utils package</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.error.html">apache_beam.error module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pipeline.html">apache_beam.pipeline module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pvalue.html">apache_beam.pvalue module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.version.html">apache_beam.version module</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Apache Beam</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li><a href="apache_beam.tools.html">apache_beam.tools package</a> &raquo;</li>
<li>apache_beam.tools.teststream_microbenchmark module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.tools.teststream_microbenchmark.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="module-apache_beam.tools.teststream_microbenchmark">
<span id="apache-beam-tools-teststream-microbenchmark-module"></span><h1>apache_beam.tools.teststream_microbenchmark module<a class="headerlink" href="#module-apache_beam.tools.teststream_microbenchmark" title="Permalink to this headline"></a></h1>
<p>A microbenchmark for measuring changes in the performance of TestStream
running locally.
This microbenchmark attempts to measure the overhead of the main data paths
for the TestStream. Specifically new elements, watermark changes and processing
time advances.</p>
<p>This runs a series of N parallel pipelines with M parallel stages each. Each
stage does the following:</p>
<ol class="arabic simple">
<li>Put all the PCollection elements in a window</li>
<li>Wait until the watermark advances past the end of the window.</li>
<li>When the watermark passes, change the key and output all the elements</li>
<li>Go back to #1 until all elements in the stream have been consumed.</li>
</ol>
<p>This executes the same codepaths that are run on the Fn API (and Dataflow)
workers, but is generally easier to run (locally) and more stable.</p>
<p>Run as</p>
<blockquote>
<div>python -m apache_beam.tools.teststream_microbenchmark</div></blockquote>
<dl class="class">
<dt id="apache_beam.tools.teststream_microbenchmark.RekeyElements">
<em class="property">class </em><code class="descclassname">apache_beam.tools.teststream_microbenchmark.</code><code class="descname">RekeyElements</code><span class="sig-paren">(</span><em>*unused_args</em>, <em>**unused_kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/tools/teststream_microbenchmark.html#RekeyElements"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.tools.teststream_microbenchmark.RekeyElements" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.core.html#apache_beam.transforms.core.DoFn" title="apache_beam.transforms.core.DoFn"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.core.DoFn</span></code></a></p>
<dl class="method">
<dt id="apache_beam.tools.teststream_microbenchmark.RekeyElements.process">
<code class="descname">process</code><span class="sig-paren">(</span><em>element</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/tools/teststream_microbenchmark.html#RekeyElements.process"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.tools.teststream_microbenchmark.RekeyElements.process" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="apache_beam.tools.teststream_microbenchmark.run_single_pipeline">
<code class="descclassname">apache_beam.tools.teststream_microbenchmark.</code><code class="descname">run_single_pipeline</code><span class="sig-paren">(</span><em>size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/tools/teststream_microbenchmark.html#run_single_pipeline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.tools.teststream_microbenchmark.run_single_pipeline" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="apache_beam.tools.teststream_microbenchmark.run_benchmark">
<code class="descclassname">apache_beam.tools.teststream_microbenchmark.</code><code class="descname">run_benchmark</code><span class="sig-paren">(</span><em>starting_point=1</em>, <em>num_runs=10</em>, <em>num_elements_step=300</em>, <em>verbose=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/tools/teststream_microbenchmark.html#run_benchmark"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.tools.teststream_microbenchmark.run_benchmark" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="apache_beam.tools.utils.html" class="btn btn-neutral float-right" title="apache_beam.tools.utils module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.tools.sideinput_microbenchmark.html" class="btn btn-neutral float-left" title="apache_beam.tools.sideinput_microbenchmark module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>