From 4127db3d3a8fc75d82d21c70e458a8a4e5d674c2 Mon Sep 17 00:00:00 2001 From: Karl Persson Date: Tue, 27 Jul 2021 17:19:03 +0200 Subject: [PATCH] Remove Licensing as dependency of UsageStats (#37259) * Remove Licensing as dependency Co-authored-by: Emil Tullstedt --- pkg/infra/usagestats/service.go | 2 -- pkg/infra/usagestats/usage_stats.go | 26 ++++++++++--------- .../usagestats/usage_stats_service_test.go | 2 -- pkg/infra/usagestats/usage_stats_test.go | 2 -- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/pkg/infra/usagestats/service.go b/pkg/infra/usagestats/service.go index 58b8574cfe9..59a53ae5fea 100644 --- a/pkg/infra/usagestats/service.go +++ b/pkg/infra/usagestats/service.go @@ -8,7 +8,6 @@ import ( "github.com/grafana/grafana/pkg/bus" "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/login/social" - "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/registry" "github.com/grafana/grafana/pkg/services/alerting" @@ -38,7 +37,6 @@ type UsageStatsService struct { Bus bus.Bus `inject:""` SQLStore *sqlstore.SQLStore `inject:""` AlertingUsageStats alerting.UsageStatsQuerier `inject:""` - License models.Licensing `inject:""` PluginManager plugins.Manager `inject:""` SocialService social.Service `inject:""` diff --git a/pkg/infra/usagestats/usage_stats.go b/pkg/infra/usagestats/usage_stats.go index 72d1408e57c..ad2735ad249 100644 --- a/pkg/infra/usagestats/usage_stats.go +++ b/pkg/infra/usagestats/usage_stats.go @@ -36,13 +36,12 @@ func (uss *UsageStatsService) GetUsageReport(ctx context.Context) (UsageReport, edition = "enterprise" } report := UsageReport{ - Version: version, - Metrics: metrics, - Os: runtime.GOOS, - Arch: runtime.GOARCH, - Edition: edition, - HasValidLicense: uss.License.HasValidLicense(), - Packaging: uss.Cfg.Packaging, + Version: version, + Metrics: metrics, + Os: runtime.GOOS, + Arch: runtime.GOARCH, + Edition: edition, + Packaging: uss.Cfg.Packaging, } statsQuery := models.GetSystemStatsQuery{} @@ -78,11 +77,7 @@ func (uss *UsageStatsService) GetUsageReport(ctx context.Context) (UsageReport, metrics["stats.dashboards_viewers_can_admin.count"] = statsQuery.Result.DashboardsViewersCanAdmin metrics["stats.folders_viewers_can_edit.count"] = statsQuery.Result.FoldersViewersCanEdit metrics["stats.folders_viewers_can_admin.count"] = statsQuery.Result.FoldersViewersCanAdmin - validLicCount := 0 - if uss.License.HasValidLicense() { - validLicCount = 1 - } - metrics["stats.valid_license.count"] = validLicCount + ossEditionCount := 1 enterpriseEditionCount := 0 if uss.Cfg.IsEnterprise { @@ -94,6 +89,13 @@ func (uss *UsageStatsService) GetUsageReport(ctx context.Context) (UsageReport, uss.registerExternalMetrics(metrics) + // must run after registration of external metrics + if v, ok := metrics["stats.valid_license.count"]; ok { + report.HasValidLicense = v == 1 + } else { + metrics["stats.valid_license.count"] = 0 + } + userCount := statsQuery.Result.Users avgAuthTokensPerUser := statsQuery.Result.AuthTokens if userCount != 0 { diff --git a/pkg/infra/usagestats/usage_stats_service_test.go b/pkg/infra/usagestats/usage_stats_service_test.go index 94149cf4f75..932ac27ade9 100644 --- a/pkg/infra/usagestats/usage_stats_service_test.go +++ b/pkg/infra/usagestats/usage_stats_service_test.go @@ -9,7 +9,6 @@ import ( "time" "github.com/grafana/grafana/pkg/bus" - "github.com/grafana/grafana/pkg/services/licensing" "github.com/grafana/grafana/pkg/services/sqlstore" "github.com/grafana/grafana/pkg/util" "github.com/stretchr/testify/assert" @@ -21,7 +20,6 @@ func TestUsageStatsService_GetConcurrentUsersStats(t *testing.T) { uss := &UsageStatsService{ Bus: bus.New(), SQLStore: sqlStore, - License: &licensing.OSSLicensingService{}, } createConcurrentTokens(t, sqlStore) diff --git a/pkg/infra/usagestats/usage_stats_test.go b/pkg/infra/usagestats/usage_stats_test.go index b6476ce5470..b521a5dbcf1 100644 --- a/pkg/infra/usagestats/usage_stats_test.go +++ b/pkg/infra/usagestats/usage_stats_test.go @@ -17,7 +17,6 @@ import ( "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/plugins/manager" "github.com/grafana/grafana/pkg/services/alerting" - "github.com/grafana/grafana/pkg/services/licensing" "github.com/grafana/grafana/pkg/services/sqlstore" "github.com/grafana/grafana/pkg/setting" "github.com/stretchr/testify/assert" @@ -606,7 +605,6 @@ func createService(t *testing.T, cfg setting.Cfg) *UsageStatsService { Bus: bus.New(), Cfg: &cfg, SQLStore: sqlstore.InitTestDB(t), - License: &licensing.OSSLicensingService{}, AlertingUsageStats: &alertingUsageMock{}, externalMetrics: make([]MetricsFunc, 0), PluginManager: &fakePluginManager{},