Skip to content

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#

import "github.com/perses/perses/go-sdk/variable" 

variable.Filter(variables...)

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"),
            ),
        ),
    )
}