ExtSvcAccount: Remove expensive extsvc_total metric (#111031)

* ExtSvcAccount: Remove expensive `extsvc_total` metric

* Remove unused variables
This commit is contained in:
Gabriel MABILLE
2025-09-15 10:11:20 +02:00
committed by GitHub
parent a3c95e1375
commit 6c35bb2c6e
3 changed files with 3 additions and 32 deletions
@@ -1,45 +1,17 @@
package extsvcaccounts
import (
"context"
"time"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/serviceaccounts"
"github.com/prometheus/client_golang/prometheus"
)
type metrics struct {
storedCount prometheus.GaugeFunc
savedCount prometheus.Counter
deletedCount prometheus.Counter
}
func newMetrics(reg prometheus.Registerer, defaultOrgID int64, saSvc serviceaccounts.Service, logger log.Logger) *metrics {
func newMetrics(reg prometheus.Registerer) *metrics {
var m metrics
m.storedCount = prometheus.NewGaugeFunc(
prometheus.GaugeOpts{
Namespace: metricsNamespace,
Name: "extsvc_total",
Help: "Number of external service accounts in store",
},
func() float64 {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
res, err := saSvc.SearchOrgServiceAccounts(ctx, &serviceaccounts.SearchOrgServiceAccountsQuery{
OrgID: defaultOrgID,
Filter: serviceaccounts.FilterOnlyExternal,
CountOnly: true,
SignedInUser: extsvcuser(defaultOrgID),
})
if err != nil {
logger.Error("Could not compute extsvc_total metric", "error", err)
return 0.0
}
return float64(res.TotalCount)
},
)
m.savedCount = prometheus.NewCounter(prometheus.CounterOpts{
Namespace: metricsNamespace,
Name: "extsvc_saved_total",
@@ -52,7 +24,6 @@ func newMetrics(reg prometheus.Registerer, defaultOrgID int64, saSvc serviceacco
})
if reg != nil {
reg.MustRegister(m.storedCount)
reg.MustRegister(m.savedCount)
reg.MustRegister(m.deletedCount)
}
@@ -50,7 +50,7 @@ func ProvideExtSvcAccountsService(acSvc ac.Service, cfg *setting.Cfg, bus bus.Bu
if esa.enabled {
// Register the metrics
esa.metrics = newMetrics(reg, esa.defaultOrgID, saSvc, logger)
esa.metrics = newMetrics(reg)
// Register a listener to enable/disable service accounts
bus.AddEventListener(esa.handlePluginStateChanged)
@@ -58,7 +58,7 @@ func setupTestEnv(t *testing.T) *TestEnv {
permreg.ProvidePermissionRegistry(), nil),
defaultOrgID: autoAssignOrgID,
logger: logger,
metrics: newMetrics(nil, autoAssignOrgID, env.SaSvc, logger),
metrics: newMetrics(nil),
saSvc: env.SaSvc,
skvStore: env.SkvStore,
tracer: tracing.InitializeTracerForTest(),