Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2022-03-15 10:48:59 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2022-03-15 11:24:20 +0300
commita8d36fc380ad872d74d7c2a4f80fdf69e6395e0f (patch)
treee5d6fc07391de9823ef1503f0e10e875ddeb530f
parent5d1c847ecd9985f54b135291e4fa246385285b19 (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.go26
-rw-r--r--internal/git/housekeeping/manager.go12
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)
}