UsageStats: track enabled features (#47407)

* #47127: include enabled features in the usage stats reports

* #47127: convert feature names to snake cased metric names

* #47127: remove dead code

* #47127: lint fix

* #47127: convert GetUsageStats to return `map[string]interface{}`

* #47127: fix testssssssss

* #47127: fix testssssssss
This commit is contained in:
Artur Wierzbicki
2022-04-08 12:42:33 +02:00
committed by GitHub
parent 416da59c43
commit f1a1070d41
6 changed files with 192 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
package featuremgmt
import (
"context"
"fmt"
"github.com/grafana/grafana/pkg/services/featuremgmt/strcase"
)
func (fm *FeatureManager) GetUsageStats(ctx context.Context) map[string]interface{} {
enabled := fm.GetEnabled(ctx)
stats := make(map[string]interface{}, len(enabled))
for featureName := range enabled {
stats[asMetricName(featureName)] = 1
}
return stats
}
func asMetricName(featureName string) string {
return fmt.Sprintf("stats.features.%s.count", strcase.ToSnake(featureName))
}