Remove Licensing as dependency of UsageStats (#37259)
* Remove Licensing as dependency Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
This commit is contained in:
co-authored by
Emil Tullstedt
parent
c189851339
commit
4127db3d3a
@@ -8,7 +8,6 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/bus"
|
"github.com/grafana/grafana/pkg/bus"
|
||||||
"github.com/grafana/grafana/pkg/infra/log"
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/login/social"
|
"github.com/grafana/grafana/pkg/login/social"
|
||||||
"github.com/grafana/grafana/pkg/models"
|
|
||||||
"github.com/grafana/grafana/pkg/plugins"
|
"github.com/grafana/grafana/pkg/plugins"
|
||||||
"github.com/grafana/grafana/pkg/registry"
|
"github.com/grafana/grafana/pkg/registry"
|
||||||
"github.com/grafana/grafana/pkg/services/alerting"
|
"github.com/grafana/grafana/pkg/services/alerting"
|
||||||
@@ -38,7 +37,6 @@ type UsageStatsService struct {
|
|||||||
Bus bus.Bus `inject:""`
|
Bus bus.Bus `inject:""`
|
||||||
SQLStore *sqlstore.SQLStore `inject:""`
|
SQLStore *sqlstore.SQLStore `inject:""`
|
||||||
AlertingUsageStats alerting.UsageStatsQuerier `inject:""`
|
AlertingUsageStats alerting.UsageStatsQuerier `inject:""`
|
||||||
License models.Licensing `inject:""`
|
|
||||||
PluginManager plugins.Manager `inject:""`
|
PluginManager plugins.Manager `inject:""`
|
||||||
SocialService social.Service `inject:""`
|
SocialService social.Service `inject:""`
|
||||||
|
|
||||||
|
|||||||
@@ -36,13 +36,12 @@ func (uss *UsageStatsService) GetUsageReport(ctx context.Context) (UsageReport,
|
|||||||
edition = "enterprise"
|
edition = "enterprise"
|
||||||
}
|
}
|
||||||
report := UsageReport{
|
report := UsageReport{
|
||||||
Version: version,
|
Version: version,
|
||||||
Metrics: metrics,
|
Metrics: metrics,
|
||||||
Os: runtime.GOOS,
|
Os: runtime.GOOS,
|
||||||
Arch: runtime.GOARCH,
|
Arch: runtime.GOARCH,
|
||||||
Edition: edition,
|
Edition: edition,
|
||||||
HasValidLicense: uss.License.HasValidLicense(),
|
Packaging: uss.Cfg.Packaging,
|
||||||
Packaging: uss.Cfg.Packaging,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
statsQuery := models.GetSystemStatsQuery{}
|
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.dashboards_viewers_can_admin.count"] = statsQuery.Result.DashboardsViewersCanAdmin
|
||||||
metrics["stats.folders_viewers_can_edit.count"] = statsQuery.Result.FoldersViewersCanEdit
|
metrics["stats.folders_viewers_can_edit.count"] = statsQuery.Result.FoldersViewersCanEdit
|
||||||
metrics["stats.folders_viewers_can_admin.count"] = statsQuery.Result.FoldersViewersCanAdmin
|
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
|
ossEditionCount := 1
|
||||||
enterpriseEditionCount := 0
|
enterpriseEditionCount := 0
|
||||||
if uss.Cfg.IsEnterprise {
|
if uss.Cfg.IsEnterprise {
|
||||||
@@ -94,6 +89,13 @@ func (uss *UsageStatsService) GetUsageReport(ctx context.Context) (UsageReport,
|
|||||||
|
|
||||||
uss.registerExternalMetrics(metrics)
|
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
|
userCount := statsQuery.Result.Users
|
||||||
avgAuthTokensPerUser := statsQuery.Result.AuthTokens
|
avgAuthTokensPerUser := statsQuery.Result.AuthTokens
|
||||||
if userCount != 0 {
|
if userCount != 0 {
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/bus"
|
"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/services/sqlstore"
|
||||||
"github.com/grafana/grafana/pkg/util"
|
"github.com/grafana/grafana/pkg/util"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@@ -21,7 +20,6 @@ func TestUsageStatsService_GetConcurrentUsersStats(t *testing.T) {
|
|||||||
uss := &UsageStatsService{
|
uss := &UsageStatsService{
|
||||||
Bus: bus.New(),
|
Bus: bus.New(),
|
||||||
SQLStore: sqlStore,
|
SQLStore: sqlStore,
|
||||||
License: &licensing.OSSLicensingService{},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
createConcurrentTokens(t, sqlStore)
|
createConcurrentTokens(t, sqlStore)
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/plugins"
|
"github.com/grafana/grafana/pkg/plugins"
|
||||||
"github.com/grafana/grafana/pkg/plugins/manager"
|
"github.com/grafana/grafana/pkg/plugins/manager"
|
||||||
"github.com/grafana/grafana/pkg/services/alerting"
|
"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/services/sqlstore"
|
||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@@ -606,7 +605,6 @@ func createService(t *testing.T, cfg setting.Cfg) *UsageStatsService {
|
|||||||
Bus: bus.New(),
|
Bus: bus.New(),
|
||||||
Cfg: &cfg,
|
Cfg: &cfg,
|
||||||
SQLStore: sqlstore.InitTestDB(t),
|
SQLStore: sqlstore.InitTestDB(t),
|
||||||
License: &licensing.OSSLicensingService{},
|
|
||||||
AlertingUsageStats: &alertingUsageMock{},
|
AlertingUsageStats: &alertingUsageMock{},
|
||||||
externalMetrics: make([]MetricsFunc, 0),
|
externalMetrics: make([]MetricsFunc, 0),
|
||||||
PluginManager: &fakePluginManager{},
|
PluginManager: &fakePluginManager{},
|
||||||
|
|||||||
Reference in New Issue
Block a user