From 6c4636b86046261e7ed70c86c0d76bd73a815be5 Mon Sep 17 00:00:00 2001 From: Sam Dillard Date: Wed, 12 Aug 2020 08:08:55 -0700 Subject: [PATCH] add pivot example for starlark processor (#7976) --- plugins/processors/starlark/README.md | 1 + plugins/processors/starlark/testdata/pivot.star | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 plugins/processors/starlark/testdata/pivot.star diff --git a/plugins/processors/starlark/README.md b/plugins/processors/starlark/README.md index 334876f87cc91..7cc02ec2678b2 100644 --- a/plugins/processors/starlark/README.md +++ b/plugins/processors/starlark/README.md @@ -153,6 +153,7 @@ Attempting to modify the global scope will fail with an error. - [rename](/plugins/processors/starlark/testdata/rename.star) - [scale](/plugins/processors/starlark/testdata/scale.star) - [number logic](/plugins/processors/starlark/testdata/number_logic.star) +- [pivot](/plugins/processors/starlark/testdata/pivot.star) Open a [PR](https://github.com/influxdata/telegraf/compare) to add any other useful Starlark examples. diff --git a/plugins/processors/starlark/testdata/pivot.star b/plugins/processors/starlark/testdata/pivot.star new file mode 100644 index 0000000000000..d1a380cef9aaa --- /dev/null +++ b/plugins/processors/starlark/testdata/pivot.star @@ -0,0 +1,17 @@ +''' +Pivots a key's value to be the key for another key. +In this example it pivots the value of key `sensor` +to be the key of the value in key `value` + +Input: +temperature sensor=001A0,value=111.48 + +Output: +temperature 001A0=111.48 +''' + + def apply(metric): + metric.fields[str(metric.fields['sensor'])] = metric.fields['value'] + metric.fields.pop('value',None) + metric.fields.pop('sensor',None) + return metric