Label-Values Variable Builder#
Constructor#
import "github.com/perses/perses/go-sdk/prometheus/label-values"
var options []labelvalues.Option
labelvalues.PrometheusLabelValues("my_super_label_name", options...)
Need to provide a label name and a list of options.
Default options#
- LabelName(): with the label name provided in the constructor.
Available options#
LabelName#
import "github.com/perses/perses/go-sdk/prometheus/label-values"
labelvalues.LabelName("my_super_label_name")
Define the label name where value will be retrieved.
Matchers#
import "github.com/perses/perses/go-sdk/prometheus/label-values"
var matchers []string
labelvalues.Matchers(matchers...)
Define matchers filtering the result.
AddMatcher#
import "github.com/perses/perses/go-sdk/prometheus/label-values"
labelvalues.AddMatcher("my_super_matcher")
Define a matcher filtering the result.
Datasource#
import "github.com/perses/perses/go-sdk/prometheus/label-values"
labelvalues.Datasource("datasourceValue")
Define the datasource where the expression will be executed.
Filter#
Mainly used by variable group. It will filter the current variable with the provided variables. The filter will be applied only if matchers don't have curly brackets.
Example#
package main
import (
"github.com/perses/perses/go-sdk/dashboard"
labelvalues "github.com/perses/perses/go-sdk/prometheus/variable/label-values"
listvariable "github.com/perses/perses/go-sdk/variable/list-variable"
)
func main() {
dashboard.New("Example Dashboard",
dashboard.AddVariable("stack",
listvariable.List(
labelvalues.PrometheusLabelValues("stack",
labelvalues.Matchers("thanos_build_info{}"),
labelvalues.Datasource("prometheusDemo"),
),
listvariable.DisplayName("PaaS"),
),
),
)
}