unpivot

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: 5 Imported by: 0

README

Unpivot Processor Plugin

This plugin allows to rotate a multi-field series into single-valued metrics. The resulting metrics allow to more easily aggregate data across fields.

[!TIP] To perform the reverse operation use the pivot processor.

⭐ Telegraf v1.12.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

# Rotate multi field metric into several single field metrics
[[processors.unpivot]]
  ## Metric mode to pivot to
  ## Set to "tag", metrics are pivoted as a tag and the metric is kept as
  ## the original measurement name. Tag key name is set by tag_key value.
  ## Set to "metric" creates a new metric named the field name. With this
  ## option the tag_key is ignored. Be aware that this could lead to metric
  ## name conflicts!
  # use_fieldname_as = "tag"

  ## Tag to use for the name.
  # tag_key = "name"

  ## Field to use for the name of the value.
  # value_key = "value"

Example

Metric mode tag:

- cpu,cpu=cpu0 time_idle=42i,time_user=43i
+ cpu,cpu=cpu0,name=time_idle value=42i
+ cpu,cpu=cpu0,name=time_user value=43i

Metric mode metric:

- cpu,cpu=cpu0 time_idle=42i,time_user=43i
+ time_idle,cpu=cpu0 value=42i
+ time_user,cpu=cpu0 value=43i

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Unpivot

type Unpivot struct {
	FieldNameAs string `toml:"use_fieldname_as"`
	TagKey      string `toml:"tag_key"`
	ValueKey    string `toml:"value_key"`
}

func (*Unpivot) Apply

func (p *Unpivot) Apply(metrics ...telegraf.Metric) []telegraf.Metric

func (*Unpivot) Init

func (p *Unpivot) Init() error

func (*Unpivot) SampleConfig

func (*Unpivot) SampleConfig() string

Jump to

Keyboard shortcuts

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