From 91919de7207a17ce5da5a0ea46545e01c006e200 Mon Sep 17 00:00:00 2001 From: TheFox0x7 Date: Thu, 16 Jan 2025 21:33:49 +0100 Subject: [PATCH] feat(metrics): add migration counters --- services/migrations/migrate.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/services/migrations/migrate.go b/services/migrations/migrate.go index 51b22d6111..edff7d4a95 100644 --- a/services/migrations/migrate.go +++ b/services/migrations/migrate.go @@ -21,6 +21,14 @@ import ( base "code.gitea.io/gitea/modules/migration" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/util" + + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" +) + +var ( + repoMigrationsInflightGauge = promauto.NewGauge(prometheus.GaugeOpts{Namespace: "gitea", Subsystem: "repository", Name: "inflight_migrations", Help: "Number of inflight repository migrations"}) + repoMigrationsCounter = promauto.NewGaugeVec(prometheus.GaugeOpts{Namespace: "gitea", Subsystem: "repository", Name: "migrations", Help: "Total migrations"}, []string{"result"}) ) // MigrateOptions is equal to base.MigrateOptions @@ -124,6 +132,9 @@ func MigrateRepository(ctx context.Context, doer *user_model.User, ownerName str return nil, err } + repoMigrationsInflightGauge.Inc() + defer repoMigrationsInflightGauge.Dec() + uploader := NewGiteaLocalUploader(ctx, doer, ownerName, opts.RepoName) uploader.gitServiceType = opts.GitServiceType @@ -134,8 +145,10 @@ func MigrateRepository(ctx context.Context, doer *user_model.User, ownerName str if err2 := system_model.CreateRepositoryNotice(fmt.Sprintf("Migrate repository from %s failed: %v", opts.OriginalURL, err)); err2 != nil { log.Error("create respotiry notice failed: ", err2) } + repoMigrationsCounter.WithLabelValues("fail").Inc() return nil, err } + repoMigrationsCounter.WithLabelValues("success").Inc() return uploader.repo, nil }