influxdata/telegraf

persist starlark state for more starlark types

Open

#15,924 opened on Sep 22, 2024

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Go (9,892 stars) (4,161 forks)batch import
area/starlarkfeature requesthelp wantedsize/m

Description

Use Case

#15170 added the ability for the starlark processor to persist the global state to the statefile between runs. This is very nice, but it can't store lists, dicts, tuples, or metrics to the state file which severely limits its usefulness. If you try any more complex type you get an error like invalid starlark type *starlark.Metric when it tries to write the state file.

My desired use case is similar to the example for comparing a metric to the previous one. This doesn't work because it stores both a dict and a metric in the global state.

Expected behavior

Starlark standard types (lists, dicts, tuples, and maybe also metrics) can be persisted to the statefile.

Actual behavior

Error when persisting the plugin states.

Additional info

No response

Contributor guide