<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Moving_fn on INFINI Pizza</title><link>https://pizza.rs/tags/moving_fn/</link><description>Recent content in Moving_fn on INFINI Pizza</description><generator>Hugo</generator><language>en</language><atom:link href="https://pizza.rs/tags/moving_fn/index.xml" rel="self" type="application/rss+xml"/><item><title>Moving fn aggregation</title><link>https://pizza.rs/docs/references/aggregation/pipeline/moving-fn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pizza.rs/docs/references/aggregation/pipeline/moving-fn/</guid><description>&lt;h1 id="moving-fn-aggregation">
 Moving fn aggregation
 &lt;a class="anchor" href="#moving-fn-aggregation">#&lt;/a>
&lt;/h1>
&lt;p>A parent pipeline aggregation computing a &lt;strong>window statistic&lt;/strong> over the
last N buckets&amp;rsquo; metrics — &lt;code>MovingFunctions.max(values)&lt;/code>,
&lt;code>MovingFunctions.sum(values)&lt;/code>, &lt;code>MovingFunctions.min(values)&lt;/code> and
friends, with the window sliding bucket by bucket.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="s2">&amp;#34;smooth&amp;#34;&lt;/span>&lt;span class="err">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;moving_fn&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;buckets_path&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;revenue&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;window&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;script&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;MovingFunctions.max(values)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="how-it-works">
 How it works
 &lt;a class="anchor" href="#how-it-works">#&lt;/a>
&lt;/h2>
&lt;p>&lt;code>moving_fn&lt;/code> is declared &lt;strong>inside&lt;/strong> the multi-bucket aggregation it
decorates, next to the metric it consumes. After the buckets are
built, the engine slides a &lt;strong>trailing window&lt;/strong> over their values and,
for each bucket, evaluates the script once with the window exposed as
&lt;code>values&lt;/code> — a floating-point array, &lt;strong>oldest first&lt;/strong>, current bucket
last. The script&amp;rsquo;s numeric result is attached to that bucket under
the pipeline&amp;rsquo;s own name.&lt;/p></description></item></channel></rss>