FeatureToggles: Write enabled flags to the logs on startup (#87225)

This commit is contained in:
Ryan McKinley 2024-05-02 18:19:34 +03:00 committed by GitHub
parent 281d785442
commit b7df129b78
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,8 +1,11 @@
package featuremgmt
import (
"sort"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
"golang.org/x/exp/maps"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/setting"
@ -57,6 +60,15 @@ func ProvideManagerService(cfg *setting.Cfg) (*FeatureManager, error) {
// update the values
mgmt.update()
// Log the enabled feature toggles at startup
enabled := sort.StringSlice(maps.Keys(mgmt.enabled))
logctx := make([]any, len(enabled)*2)
for i, k := range enabled {
logctx[(i * 2)] = k
logctx[(i*2)+1] = true
}
mgmt.log.Info("FeatureToggles", logctx...)
// Minimum approach to avoid circular dependency
// nolint:staticcheck
cfg.IsFeatureToggleEnabled = mgmt.IsEnabledGlobally