cumulative_sum

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 9 Imported by: 0

README

Cumulative Sum Processor Plugin

This plugin accumulates field values per-metric over time and emit metrics with cumulative sums whenever a metric is updated. This is useful when using outputs relying on monotonically increasing values

[!NOTE] Metrics within a series are accumulated in the order of arrival and not in order of their timestamps!

⭐ Telegraf v1.35.0 🏷️ transformation 💻 all

Global configuration options

Plugins support additional global and plugin configuration settings for tasks such as modifying metrics, tags, and fields, creating aliases, and configuring plugin ordering. See CONFIGURATION.md for more details.

Configuration

# Compute the cumulative sum of the given fields
[[processors.cumulative_sum]]
  ## Numerical fields to be processed (accepting wildcards)
  # fields = ["*"]

  ## Interval after which metrics are evicted from the cache and the
  ## sum values are reset to zero. A zero or unset value will keep the
  ## metric forever.
  ## It is strongly recommended to set an expiry interval to avoid
  ## growing memory usage when varying metric series are processed.
  # expiry_interval = "0s"

Example

- net,host=server01 bytes_sent=1000,bytes_received=500
- net,host=server01 bytes_sent=2500,bytes_received=1500
- net,host=server01 bytes_sent=3000,bytes_received=2500
+ net,host=server01 bytes_sent=1000,bytes_sent_sum=1000,bytes_received=500,bytes_received_sum=500
+ net,host=server01 bytes_sent=2500,bytes_sent_sum=3500,bytes_received=1500,bytes_received_sum=2000
+ net,host=server01 bytes_sent=3000,bytes_sent_sum=6500,bytes_received=2500,bytes_received_sum=4500

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CumulativeSum

type CumulativeSum struct {
	Fields         []string        `toml:"fields"`
	ExpiryInterval config.Duration `toml:"expiry_interval"`
	Log            telegraf.Logger `toml:"-"`
	// contains filtered or unexported fields
}

func (*CumulativeSum) Apply

func (c *CumulativeSum) Apply(in ...telegraf.Metric) []telegraf.Metric

func (*CumulativeSum) Init

func (c *CumulativeSum) Init() error

func (*CumulativeSum) SampleConfig

func (*CumulativeSum) SampleConfig() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL