Skip to content

Commit

Permalink
Merge branch 'main' into obs-lib-add-business-variable-panel
Browse files Browse the repository at this point in the history
  • Loading branch information
Atrax1 authored Feb 18, 2025
2 parents f7cc20c + 0a09711 commit 8f46de7
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 11 deletions.
2 changes: 1 addition & 1 deletion observability-lib/grafana/panels.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func newThresholds(options *ThresholdOptions) *dashboard.ThresholdsConfigBuilder

type TransformOptions struct {
ID string
Options map[string]string
Options map[string]any
}

func newTransform(options *TransformOptions) dashboard.DataTransformerConfig {
Expand Down
43 changes: 33 additions & 10 deletions observability-lib/grafana/variables.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ type QueryVariableOptions struct {
Regex string
IncludeAll bool
QueryWithType map[string]any
Hide *dashboard.VariableHide
}

func NewQueryVariable(options *QueryVariableOptions) *dashboard.QueryVariableBuilder {
Expand All @@ -98,14 +97,16 @@ func NewQueryVariable(options *QueryVariableOptions) *dashboard.QueryVariableBui
variable := dashboard.NewQueryVariableBuilder(options.Name).
Label(options.Label).
Description(options.Description).
Hide(options.Hide).
Datasource(datasourceRef(options.Datasource)).
Current(dashboard.VariableOption{
Selected: cog.ToPtr[bool](true),
Text: dashboard.StringOrArrayOfString{ArrayOfString: []string{options.CurrentText}},
Value: dashboard.StringOrArrayOfString{ArrayOfString: []string{options.CurrentValue}},
}).
Sort(dashboard.VariableSortAlphabeticalAsc).
Multi(options.Multi)
Multi(options.Multi).
IncludeAll(options.IncludeAll)

if options.Query != "" {
variable.Query(dashboard.StringOrMap{String: cog.ToPtr[string](options.Query)})
Expand All @@ -117,14 +118,6 @@ func NewQueryVariable(options *QueryVariableOptions) *dashboard.QueryVariableBui
variable.Regex(options.Regex)
}

if options.IncludeAll {
variable.IncludeAll(options.IncludeAll)
}

if options.Hide != nil {
variable.Hide(*options.Hide)
}

return variable
}

Expand All @@ -149,3 +142,33 @@ func NewIntervalVariable(options *IntervalVariableOptions) *dashboard.IntervalVa
Value: dashboard.StringOrArrayOfString{ArrayOfString: []string{options.CurrentValue}},
})
}

type DataSourceVariableOptions struct {
*VariableOption
Type string
Regex string
Multi bool
IncludeAll bool
}

func NewDataSourceVariable(options *DataSourceVariableOptions) *dashboard.DatasourceVariableBuilder {
return dashboard.NewDatasourceVariableBuilder(options.Name).
Label(options.Label).
Description(options.Description).
Hide(options.Hide).
Type(options.Type).
Regex(options.Regex).
Multi(options.Multi).
IncludeAll(options.IncludeAll)
}

type TextBoxVariableOptions struct {
*VariableOption
}

func NewTextBoxVariableOptions(options *TextBoxVariableOptions) *dashboard.TextBoxVariableBuilder {
return dashboard.NewTextBoxVariableBuilder(options.Name).
Label(options.Label).
Description(options.Description).
Hide(options.Hide)
}

0 comments on commit 8f46de7

Please sign in to comment.