diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-03-15 10:48:59 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-03-15 11:24:20 +0300 |
commit | a8d36fc380ad872d74d7c2a4f80fdf69e6395e0f (patch) | |
tree | e5d6fc07391de9823ef1503f0e10e875ddeb530f | |
parent | 5d1c847ecd9985f54b135291e4fa246385285b19 (diff) |
housekeeping: Move global Prometheus metric into manager
While we have a central manager component which is supposed to hold all
state related to housekeeping, we missed to migrate one of our metrics
into it.
Migrate it to get rid of one more global variable.
-rw-r--r-- | internal/git/housekeeping/clean_stale_data.go | 26 | ||||
-rw-r--r-- | internal/git/housekeeping/manager.go | 12 |
2 files changed, 15 insertions, 23 deletions
diff --git a/internal/git/housekeeping/clean_stale_data.go b/internal/git/housekeeping/clean_stale_data.go index cd6da0a4a..802230927 100644 --- a/internal/git/housekeeping/clean_stale_data.go +++ b/internal/git/housekeeping/clean_stale_data.go @@ -11,7 +11,6 @@ import ( "time" "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus" - "github.com/prometheus/client_golang/prometheus" log "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/v14/internal/git" "gitlab.com/gitlab-org/gitaly/v14/internal/git/localrepo" @@ -31,25 +30,10 @@ const ( packedRefsNewGracePeriod = 15 * time.Minute ) -var ( - lockfiles = []string{ - "config.lock", - "HEAD.lock", - "objects/info/commit-graphs/commit-graph-chain.lock", - } - - optimizeEmptyDirRemovalTotals = prometheus.NewCounter( - prometheus.CounterOpts{ - Namespace: "gitaly", - Subsystem: "repository", - Name: "optimizerepository_empty_dir_removal_total", - Help: "Total number of empty directories removed by OptimizeRepository RPC", - }, - ) -) - -func init() { - prometheus.MustRegister(optimizeEmptyDirRemovalTotals) +var lockfiles = []string{ + "config.lock", + "HEAD.lock", + "objects/info/commit-graphs/commit-graph-chain.lock", } type staleFileFinderFn func(context.Context, string) ([]string, error) @@ -99,7 +83,7 @@ func (m *RepositoryManager) CleanStaleData(ctx context.Context, repo *localrepo. } prunedRefDirs, err := removeRefEmptyDirs(ctx, repo) - optimizeEmptyDirRemovalTotals.Add(float64(prunedRefDirs)) + m.optimizeEmptyDirRemovalTotal.Add(float64(prunedRefDirs)) if err != nil { return fmt.Errorf("housekeeping could not remove empty refs: %w", err) } diff --git a/internal/git/housekeeping/manager.go b/internal/git/housekeeping/manager.go index eb391f8c9..68deb69da 100644 --- a/internal/git/housekeeping/manager.go +++ b/internal/git/housekeeping/manager.go @@ -22,8 +22,9 @@ type Manager interface { type RepositoryManager struct { txManager transaction.Manager - tasksTotal *prometheus.CounterVec - tasksLatency *prometheus.HistogramVec + tasksTotal *prometheus.CounterVec + tasksLatency *prometheus.HistogramVec + optimizeEmptyDirRemovalTotal prometheus.Counter } // NewManager creates a new RepositoryManager. @@ -45,6 +46,12 @@ func NewManager(txManager transaction.Manager) *RepositoryManager { }, []string{"housekeeping_task"}, ), + optimizeEmptyDirRemovalTotal: prometheus.NewCounter( + prometheus.CounterOpts{ + Name: "gitaly_repository_optimizerepository_empty_dir_removal_total", + Help: "Total number of empty directories removed by OptimizeRepository RPC", + }, + ), } } @@ -57,4 +64,5 @@ func (m *RepositoryManager) Describe(descs chan<- *prometheus.Desc) { func (m *RepositoryManager) Collect(metrics chan<- prometheus.Metric) { m.tasksTotal.Collect(metrics) m.tasksLatency.Collect(metrics) + m.optimizeEmptyDirRemovalTotal.Collect(metrics) } |