Stelios Fragkakis 49234f23de Multi-Tier database backend for long term metrics storage (#13263) 2 лет назад
..
Makefile.am 675383b26a Makefile.am files indentation (#7252) 5 лет назад
README.md c7f2647a62 Docs: Removed Google Analytics tags (#12145) 3 лет назад
ses.c 49234f23de Multi-Tier database backend for long term metrics storage (#13263) 2 лет назад
ses.h c3dfbe52a6 netdata doubles (#13217) 2 лет назад

README.md

Single (or Simple) Exponential Smoothing (ses)

This query is also available as ema and ewma.

An exponential moving average (ema), also known as an exponentially weighted moving average (ewma) is a first-order infinite impulse response filter that applies weighting factors which decrease exponentially. The weighting for each older datum decreases exponentially, never reaching zero.

In simple terms, this is like an average value, but more recent values are given more weight.

Netdata automatically adjusts the weight (alpha) based on the number of values processed, using the formula:

window = max(number of values, 15)
alpha  = 2 / (window + 1)

You can change the fixed value 15 by setting in netdata.conf:

[web]
   ses max window = 15

how to use

Use it in alarms like this:

 alarm: my_alarm
    on: my_chart
lookup: ses -1m unaligned of my_dimension
  warn: $this > 1000

ses does not change the units. For example, if the chart units is requests/sec, the exponential moving average will be again expressed in the same units.

It can also be used in APIs and badges as &group=ses in the URL.

Examples

Examining last 1 minute successful web server responses:

References