blob: 4508ad4091d780f269e30c4c5b0dab6d372c9ddf [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.utils.histogram module &mdash; Apache Beam 2.37.0 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 async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></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.utils.interactive_utils module" href="apache_beam.utils.interactive_utils.html" />
<link rel="prev" title="apache_beam.utils.annotations module" href="apache_beam.utils.annotations.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 class="version">
2.37.0
</div>
<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.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.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 current"><a class="reference internal" href="apache_beam.utils.html">apache_beam.utils package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.utils.html#submodules">Submodules</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.annotations.html">apache_beam.utils.annotations module</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">apache_beam.utils.histogram module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.interactive_utils.html">apache_beam.utils.interactive_utils module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.plugin.html">apache_beam.utils.plugin module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.processes.html">apache_beam.utils.processes module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.profiler.html">apache_beam.utils.profiler module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.proto_utils.html">apache_beam.utils.proto_utils module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.retry.html">apache_beam.utils.retry module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.sentinel.html">apache_beam.utils.sentinel module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.sharded_key.html">apache_beam.utils.sharded_key module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.shared.html">apache_beam.utils.shared module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.subprocess_server.html">apache_beam.utils.subprocess_server module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.thread_pool_executor.html">apache_beam.utils.thread_pool_executor module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.timestamp.html">apache_beam.utils.timestamp module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.utils.urns.html">apache_beam.utils.urns module</a></li>
</ul>
</li>
</ul>
</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>
</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.utils.html">apache_beam.utils package</a> &raquo;</li>
<li>apache_beam.utils.histogram module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.utils.histogram.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.utils.histogram">
<span id="apache-beam-utils-histogram-module"></span><h1>apache_beam.utils.histogram module<a class="headerlink" href="#module-apache_beam.utils.histogram" title="Permalink to this headline"></a></h1>
<dl class="class">
<dt id="apache_beam.utils.histogram.Histogram">
<em class="property">class </em><code class="descclassname">apache_beam.utils.histogram.</code><code class="descname">Histogram</code><span class="sig-paren">(</span><em>bucket_type</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A histogram that supports estimated percentile with linear interpolation.</p>
<p>This class is considered experimental and may break or receive backwards-
incompatible changes in future versions of the Apache Beam SDK.</p>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.clear">
<code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.clear"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.clear" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.copy">
<code class="descname">copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.copy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.combine">
<code class="descname">combine</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.combine"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.combine" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.record">
<code class="descname">record</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.record"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.record" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.total_count">
<code class="descname">total_count</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.total_count"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.total_count" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.p99">
<code class="descname">p99</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.p99"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.p99" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.p90">
<code class="descname">p90</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.p90"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.p90" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.p50">
<code class="descname">p50</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.p50"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.p50" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.get_percentile_info">
<code class="descname">get_percentile_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.get_percentile_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.get_percentile_info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.Histogram.get_linear_interpolation">
<code class="descname">get_linear_interpolation</code><span class="sig-paren">(</span><em>percentile</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#Histogram.get_linear_interpolation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.Histogram.get_linear_interpolation" title="Permalink to this definition"></a></dt>
<dd><p>Calculate percentile estimation based on linear interpolation.</p>
<p>It first finds the bucket which includes the target percentile and
projects the estimated point in the bucket by assuming all the elements
in the bucket are uniformly distributed.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>percentile</strong> – The target percentile of the value returning from this
method. Should be a floating point number greater than 0 and less
than 1.</td>
</tr>
</tbody>
</table>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.utils.histogram.BucketType">
<em class="property">class </em><code class="descclassname">apache_beam.utils.histogram.</code><code class="descname">BucketType</code><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<dl class="method">
<dt id="apache_beam.utils.histogram.BucketType.range_from">
<code class="descname">range_from</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType.range_from"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType.range_from" title="Permalink to this definition"></a></dt>
<dd><p>Lower bound of a starting bucket.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.BucketType.range_to">
<code class="descname">range_to</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType.range_to"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType.range_to" title="Permalink to this definition"></a></dt>
<dd><p>Upper bound of an ending bucket.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.BucketType.num_buckets">
<code class="descname">num_buckets</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType.num_buckets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType.num_buckets" title="Permalink to this definition"></a></dt>
<dd><p>The number of buckets.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.BucketType.bucket_index">
<code class="descname">bucket_index</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType.bucket_index"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType.bucket_index" title="Permalink to this definition"></a></dt>
<dd><p>Get the bucket array index for the given value.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.BucketType.bucket_size">
<code class="descname">bucket_size</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType.bucket_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType.bucket_size" title="Permalink to this definition"></a></dt>
<dd><p>Get the bucket size for the given bucket array index.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.BucketType.accumulated_bucket_size">
<code class="descname">accumulated_bucket_size</code><span class="sig-paren">(</span><em>end_index</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#BucketType.accumulated_bucket_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.BucketType.accumulated_bucket_size" title="Permalink to this definition"></a></dt>
<dd><p>Get the accumulated bucket size from bucket index 0 until endIndex.</p>
<p>Generally, this can be calculated as
<cite>sigma(0 &lt;= i &lt; endIndex) getBucketSize(i)</cite>. However, a child class could
provide better optimized calculation.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.utils.histogram.LinearBucket">
<em class="property">class </em><code class="descclassname">apache_beam.utils.histogram.</code><code class="descname">LinearBucket</code><span class="sig-paren">(</span><em>start</em>, <em>width</em>, <em>num_buckets</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#apache_beam.utils.histogram.BucketType" title="apache_beam.utils.histogram.BucketType"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.utils.histogram.BucketType</span></code></a></p>
<p>Create a histogram with linear buckets.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>start</strong> – Lower bound of a starting bucket.</li>
<li><strong>width</strong> – Bucket width. Smaller width implies a better resolution for
percentile estimation.</li>
<li><strong>num_buckets</strong> – The number of buckets. Upper bound of an ending bucket is
defined by start + width * numBuckets.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<dl class="method">
<dt id="apache_beam.utils.histogram.LinearBucket.range_from">
<code class="descname">range_from</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket.range_from"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket.range_from" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.LinearBucket.range_to">
<code class="descname">range_to</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket.range_to"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket.range_to" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.LinearBucket.num_buckets">
<code class="descname">num_buckets</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket.num_buckets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket.num_buckets" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.LinearBucket.bucket_index">
<code class="descname">bucket_index</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket.bucket_index"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket.bucket_index" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.LinearBucket.bucket_size">
<code class="descname">bucket_size</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket.bucket_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket.bucket_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.utils.histogram.LinearBucket.accumulated_bucket_size">
<code class="descname">accumulated_bucket_size</code><span class="sig-paren">(</span><em>end_index</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/utils/histogram.html#LinearBucket.accumulated_bucket_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.utils.histogram.LinearBucket.accumulated_bucket_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="apache_beam.utils.interactive_utils.html" class="btn btn-neutral float-right" title="apache_beam.utils.interactive_utils module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.utils.annotations.html" class="btn btn-neutral float-left" title="apache_beam.utils.annotations 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>