Alerting: Accept registerer parameter in metrics ProvideService (#117099)

This commit is contained in:
Alexander Akhmetov 2026-01-30 10:49:01 +01:00 committed by GitHub
parent 28d8b3a3a6
commit b01583d01f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 6 additions and 11 deletions

View file

@ -515,7 +515,7 @@ var wireTestSet = wire.NewSet(
ProvideTestEnv,
metrics.WireSetForTest,
sqlstore.ProvideServiceForTests,
ngmetrics.ProvideServiceForTest,
ngmetrics.ProvideService,
notifications.MockNotificationService,
wire.Bind(new(notifications.Service), new(*notifications.NotificationServiceMock)),
wire.Bind(new(notifications.WebhookSender), new(*notifications.NotificationServiceMock)),

View file

@ -685,7 +685,7 @@ func Initialize(ctx context.Context, cfg *setting.Cfg, opts Options, apiOpts api
logger := loggermw.Provide(cfg, featureToggles)
qsDatasourceClientBuilder := dsquerierclient.NewNullQSDatasourceClientBuilder()
exprService := expr.ProvideService(cfg, middlewareHandler, plugincontextProvider, featureToggles, registerer, tracingService, qsDatasourceClientBuilder)
ngAlert := metrics2.ProvideService()
ngAlert := metrics2.ProvideService(registerer)
repositoryImpl := annotationsimpl.ProvideService(sqlStore, cfg, featureToggles, tagimplService, tracingService, dBstore, dashboardService, registerer)
alertNG, err := ngalert.ProvideService(cfg, featureToggles, cacheServiceImpl, service15, routeRegisterImpl, sqlStore, kvStore, exprService, dataSourceProxyService, quotaService, secretsService, notificationService, ngAlert, folderimplService, accessControl, dashboardService, renderingService, inProcBus, acimplService, repositoryImpl, pluginstoreService, tracingService, dBstore, httpclientProvider, plugincontextProvider, receiverPermissionsService, userService)
if err != nil {
@ -1363,7 +1363,7 @@ func InitializeForTest(ctx context.Context, t sqlutil.ITestDB, testingT interfac
qsDatasourceClientBuilder := dsquerierclient.NewNullQSDatasourceClientBuilder()
exprService := expr.ProvideService(cfg, middlewareHandler, plugincontextProvider, featureToggles, registerer, tracingService, qsDatasourceClientBuilder)
notificationServiceMock := notifications.MockNotificationService()
ngAlert := metrics2.ProvideServiceForTest()
ngAlert := metrics2.ProvideService(registerer)
repositoryImpl := annotationsimpl.ProvideService(sqlStore, cfg, featureToggles, tagimplService, tracingService, dBstore, dashboardService, registerer)
alertNG, err := ngalert.ProvideService(cfg, featureToggles, cacheServiceImpl, service15, routeRegisterImpl, sqlStore, kvStore, exprService, dataSourceProxyService, quotaService, secretsService, notificationServiceMock, ngAlert, folderimplService, accessControl, dashboardService, renderingService, inProcBus, acimplService, repositoryImpl, pluginstoreService, tracingService, dBstore, httpclientProvider, plugincontextProvider, receiverPermissionsService, userService)
if err != nil {
@ -1847,5 +1847,5 @@ var wireCLISet = wire.NewSet(
var wireTestSet = wire.NewSet(
wireBasicSet,
ProvideTestEnv, metrics.WireSetForTest, sqlstore.ProvideServiceForTests, metrics2.ProvideServiceForTest, notifications.MockNotificationService, wire.Bind(new(notifications.Service), new(*notifications.NotificationServiceMock)), wire.Bind(new(notifications.WebhookSender), new(*notifications.NotificationServiceMock)), wire.Bind(new(notifications.EmailSender), new(*notifications.NotificationServiceMock)), wire.Bind(new(db.DB), new(*sqlstore.SQLStore)), prefimpl.ProvideService, oauthtoken.ProvideService, oauthtokentest.ProvideService, wire.Bind(new(oauthtoken.OAuthTokenService), new(*oauthtokentest.Service)), wire.Bind(new(cleanup.AlertRuleService), new(*store2.DBstore)),
ProvideTestEnv, metrics.WireSetForTest, sqlstore.ProvideServiceForTests, metrics2.ProvideService, notifications.MockNotificationService, wire.Bind(new(notifications.Service), new(*notifications.NotificationServiceMock)), wire.Bind(new(notifications.WebhookSender), new(*notifications.NotificationServiceMock)), wire.Bind(new(notifications.EmailSender), new(*notifications.NotificationServiceMock)), wire.Bind(new(db.DB), new(*sqlstore.SQLStore)), prefimpl.ProvideService, oauthtoken.ProvideService, oauthtokentest.ProvideService, wire.Bind(new(oauthtoken.OAuthTokenService), new(*oauthtokentest.Service)), wire.Bind(new(cleanup.AlertRuleService), new(*store2.DBstore)),
)

View file

@ -12,13 +12,8 @@ const (
)
// ProvideService is a Metrics factory.
func ProvideService() *NGAlert {
return NewNGAlert(prometheus.DefaultRegisterer)
}
// ProvideServiceForTest is a Metrics factory used for test.
func ProvideServiceForTest() *NGAlert {
return NewNGAlert(prometheus.NewRegistry())
func ProvideService(r prometheus.Registerer) *NGAlert {
return NewNGAlert(r)
}
type NGAlert struct {