mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
FeatureFlags: omit metric when grafana cant run the feature (#51856)
This commit is contained in:
parent
56f3f3fe69
commit
704a602d8c
@ -73,7 +73,8 @@ func (fm *FeatureManager) registerFlags(flags ...FeatureFlag) {
|
|||||||
fm.update()
|
fm.update()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fm *FeatureManager) evaluate(ff *FeatureFlag) bool {
|
// meetsRequirements checks if grafana is able to run the given feature due to dev mode or licensing requirements
|
||||||
|
func (fm *FeatureManager) meetsRequirements(ff *FeatureFlag) bool {
|
||||||
if ff.RequiresDevMode && !fm.isDevMod {
|
if ff.RequiresDevMode && !fm.isDevMod {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -82,19 +83,22 @@ func (fm *FeatureManager) evaluate(ff *FeatureFlag) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: CEL - expression
|
return true
|
||||||
return ff.Expression == "true"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update
|
// Update
|
||||||
func (fm *FeatureManager) update() {
|
func (fm *FeatureManager) update() {
|
||||||
enabled := make(map[string]bool)
|
enabled := make(map[string]bool)
|
||||||
for _, flag := range fm.flags {
|
for _, flag := range fm.flags {
|
||||||
val := fm.evaluate(flag)
|
// if grafana cannot run the feature, omit metrics around it
|
||||||
|
if !fm.meetsRequirements(flag) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
// Update the registry
|
// Update the registry
|
||||||
track := 0.0
|
track := 0.0
|
||||||
if val {
|
// TODO: CEL - expression
|
||||||
|
if flag.Expression == "true" {
|
||||||
track = 1
|
track = 1
|
||||||
enabled[flag.Name] = true
|
enabled[flag.Name] = true
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user