Flux is a lightweight scripting language for querying databases (like InfluxDB) and working with data. It's part of InfluxDB 1.7 and 2.0, but can be run independently of those.
@pauldix mentioned at InfluxDays that the transpiler shouldn't hardcode some of its data model assumptions, specifically how all Prometheus data is grouped together, and which column is used to encode the metric name.
Currently the following is hardocded:
_measurement -> set to constant value "prometheus" to group all Prometheus data together
_field -> set to the Prometheus metric name (__name__ label value)
We should allow configuring the column in which the metric name is stored, and whether any other column should be set to a specific constant value (like currently for _measurement). On the InfluxDB side, this can be a per-bucket setting, which can then be used to configure the transpiler during queries for that bucket.
@pauldix Does that capture everything you meant? I can imagine other configurability options, but they would seem more arcane (e.g. not using _value for the sample value or using a different escaping scheme for special label names).
@pauldix mentioned at InfluxDays that the transpiler shouldn't hardcode some of its data model assumptions, specifically how all Prometheus data is grouped together, and which column is used to encode the metric name.
Currently the following is hardocded:
_measurement
-> set to constant value"prometheus"
to group all Prometheus data together_field
-> set to the Prometheus metric name (__name__
label value)(This resulted from discussion on https://github.com/influxdata/telegraf/issues/4415.)
We should allow configuring the column in which the metric name is stored, and whether any other column should be set to a specific constant value (like currently for
_measurement
). On the InfluxDB side, this can be a per-bucket setting, which can then be used to configure the transpiler during queries for that bucket.@pauldix Does that capture everything you meant? I can imagine other configurability options, but they would seem more arcane (e.g. not using
_value
for the sample value or using a different escaping scheme for special label names).