diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2023-09-14 17:59:12 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2023-09-15 13:37:43 +0300 |
commit | 2a006c4ee8b47887ddc1274dab9f645caf679c41 (patch) | |
tree | f8ff40264468d2c643ffad109201f95e1a01fa6c /internal/cgroups | |
parent | 47bcacea13a24cc3712900de3b2039d8efbce7f9 (diff) |
log: Wrap the logrus logger
Introduce a wrapper for the logrus logging infrastructure. This is a
first step towards abstracting away the actual implementation of our
logs behind a type that we can iterate on and will thus pave the way
towards adoption of the `slog` package.
Note that this is only one step of this transition. The interface does
not yet roundtrip to itself, e.g. calling `log.Logger.WithError()` will
result in a `logrus.Entry`, not in a `log.Logger`. This will be handled
at a later point.
Diffstat (limited to 'internal/cgroups')
-rw-r--r-- | internal/cgroups/cgroups.go | 6 | ||||
-rw-r--r-- | internal/cgroups/manager.go | 7 | ||||
-rw-r--r-- | internal/cgroups/manager_linux.go | 10 | ||||
-rw-r--r-- | internal/cgroups/mock_linux_test.go | 10 | ||||
-rw-r--r-- | internal/cgroups/v1_linux.go | 8 | ||||
-rw-r--r-- | internal/cgroups/v2_linux.go | 8 |
6 files changed, 25 insertions, 24 deletions
diff --git a/internal/cgroups/cgroups.go b/internal/cgroups/cgroups.go index fe2015069..2d77c732f 100644 --- a/internal/cgroups/cgroups.go +++ b/internal/cgroups/cgroups.go @@ -4,8 +4,8 @@ import ( "os/exec" "github.com/prometheus/client_golang/prometheus" - "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/cgroups" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" ) type addCommandCfg struct { @@ -78,7 +78,7 @@ type Manager interface { } // NewManager returns the appropriate Cgroups manager -func NewManager(cfg cgroups.Config, logger logrus.FieldLogger, pid int) Manager { +func NewManager(cfg cgroups.Config, logger log.Logger, pid int) Manager { if cfg.Repositories.Count > 0 { if manager := newCgroupManager(cfg, logger, pid); manager != nil { return manager @@ -89,6 +89,6 @@ func NewManager(cfg cgroups.Config, logger logrus.FieldLogger, pid int) Manager } // PruneOldCgroups prunes old cgroups for both the memory and cpu subsystems -func PruneOldCgroups(cfg cgroups.Config, logger logrus.FieldLogger) { +func PruneOldCgroups(cfg cgroups.Config, logger log.Logger) { pruneOldCgroups(cfg, logger) } diff --git a/internal/cgroups/manager.go b/internal/cgroups/manager.go index 5f6a685c0..64af69bf5 100644 --- a/internal/cgroups/manager.go +++ b/internal/cgroups/manager.go @@ -3,13 +3,14 @@ package cgroups import ( - "github.com/sirupsen/logrus" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" + "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/cgroups" ) -func newCgroupManager(cgroups.Config, logrus.FieldLogger, int) Manager { +func newCgroupManager(cgroups.Config, log.Logger, int) Manager { return &NoopManager{} } // No-op. The actual pruning operations are implemented in Cgroup V1/V2 managers. -func pruneOldCgroups(cgroups.Config, logrus.FieldLogger) {} +func pruneOldCgroups(cgroups.Config, log.Logger) {} diff --git a/internal/cgroups/manager_linux.go b/internal/cgroups/manager_linux.go index 13e742db2..12dc01988 100644 --- a/internal/cgroups/manager_linux.go +++ b/internal/cgroups/manager_linux.go @@ -11,8 +11,8 @@ import ( cgrps "github.com/containerd/cgroups/v3" "github.com/opencontainers/runtime-spec/specs-go" "github.com/prometheus/client_golang/prometheus" - "github.com/sirupsen/logrus" cgroupscfg "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/cgroups" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" ) // cfs_period_us hardcoded to be 100ms. @@ -38,11 +38,11 @@ type CGroupManager struct { handler cgroupHandler } -func newCgroupManager(cfg cgroupscfg.Config, logger logrus.FieldLogger, pid int) *CGroupManager { +func newCgroupManager(cfg cgroupscfg.Config, logger log.Logger, pid int) *CGroupManager { return newCgroupManagerWithMode(cfg, logger, pid, cgrps.Mode()) } -func newCgroupManagerWithMode(cfg cgroupscfg.Config, logger logrus.FieldLogger, pid int, mode cgrps.CGMode) *CGroupManager { +func newCgroupManagerWithMode(cfg cgroupscfg.Config, logger log.Logger, pid int, mode cgrps.CGMode) *CGroupManager { var handler cgroupHandler switch mode { case cgrps.Legacy, cgrps.Hybrid: @@ -173,11 +173,11 @@ func (cgm *CGroupManager) configRepositoryResources() *specs.LinuxResources { return &reposResources } -func pruneOldCgroups(cfg cgroupscfg.Config, logger logrus.FieldLogger) { +func pruneOldCgroups(cfg cgroupscfg.Config, logger log.Logger) { pruneOldCgroupsWithMode(cfg, logger, cgrps.Mode()) } -func pruneOldCgroupsWithMode(cfg cgroupscfg.Config, logger logrus.FieldLogger, mode cgrps.CGMode) { +func pruneOldCgroupsWithMode(cfg cgroupscfg.Config, logger log.Logger, mode cgrps.CGMode) { if cfg.HierarchyRoot == "" { return } diff --git a/internal/cgroups/mock_linux_test.go b/internal/cgroups/mock_linux_test.go index 1bf57e4a2..2662f75d8 100644 --- a/internal/cgroups/mock_linux_test.go +++ b/internal/cgroups/mock_linux_test.go @@ -28,10 +28,10 @@ import ( cgrps "github.com/containerd/cgroups/v3" "github.com/containerd/cgroups/v3/cgroup1" - "github.com/sirupsen/logrus" "github.com/stretchr/testify/require" cgroupscfg "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/cgroups" "gitlab.com/gitlab-org/gitaly/v16/internal/helper/perm" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" "gitlab.com/gitlab-org/gitaly/v16/internal/testhelper" ) @@ -141,11 +141,11 @@ func (m *mockCgroup) setupMockCgroupFiles( } } -func (m *mockCgroup) newCgroupManager(cfg cgroupscfg.Config, logger logrus.FieldLogger, pid int) *CGroupManager { +func (m *mockCgroup) newCgroupManager(cfg cgroupscfg.Config, logger log.Logger, pid int) *CGroupManager { return newCgroupManagerWithMode(cfg, logger, pid, cgrps.Legacy) } -func (m *mockCgroup) pruneOldCgroups(cfg cgroupscfg.Config, logger logrus.FieldLogger) { +func (m *mockCgroup) pruneOldCgroups(cfg cgroupscfg.Config, logger log.Logger) { pruneOldCgroupsWithMode(cfg, logger, cgrps.Legacy) } @@ -212,10 +212,10 @@ func (m *mockCgroupV2) setupMockCgroupFiles( } } -func (m *mockCgroupV2) newCgroupManager(cfg cgroupscfg.Config, logger logrus.FieldLogger, pid int) *CGroupManager { +func (m *mockCgroupV2) newCgroupManager(cfg cgroupscfg.Config, logger log.Logger, pid int) *CGroupManager { return newCgroupManagerWithMode(cfg, logger, pid, cgrps.Unified) } -func (m *mockCgroupV2) pruneOldCgroups(cfg cgroupscfg.Config, logger logrus.FieldLogger) { +func (m *mockCgroupV2) pruneOldCgroups(cfg cgroupscfg.Config, logger log.Logger) { pruneOldCgroupsWithMode(cfg, logger, cgrps.Unified) } diff --git a/internal/cgroups/v1_linux.go b/internal/cgroups/v1_linux.go index b533b5ad1..8de8d283f 100644 --- a/internal/cgroups/v1_linux.go +++ b/internal/cgroups/v1_linux.go @@ -11,21 +11,21 @@ import ( "github.com/containerd/cgroups/v3/cgroup1" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/prometheus/client_golang/prometheus" - "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config" cgroupscfg "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/cgroups" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" ) type cgroupV1Handler struct { cfg cgroupscfg.Config - logger logrus.FieldLogger + logger log.Logger hierarchy func() ([]cgroup1.Subsystem, error) *cgroupsMetrics pid int } -func newV1Handler(cfg cgroupscfg.Config, logger logrus.FieldLogger, pid int) *cgroupV1Handler { +func newV1Handler(cfg cgroupscfg.Config, logger log.Logger, pid int) *cgroupV1Handler { return &cgroupV1Handler{ cfg: cfg, logger: logger, @@ -219,7 +219,7 @@ func defaultSubsystems(root string) ([]cgroup1.Subsystem, error) { return subsystems, nil } -func pruneOldCgroupsV1(cfg cgroupscfg.Config, logger logrus.FieldLogger) { +func pruneOldCgroupsV1(cfg cgroupscfg.Config, logger log.Logger) { if err := config.PruneOldGitalyProcessDirectories( logger, filepath.Join(cfg.Mountpoint, "memory", diff --git a/internal/cgroups/v2_linux.go b/internal/cgroups/v2_linux.go index 8990358d2..f8970dbf7 100644 --- a/internal/cgroups/v2_linux.go +++ b/internal/cgroups/v2_linux.go @@ -13,20 +13,20 @@ import ( "github.com/containerd/cgroups/v3/cgroup2" "github.com/opencontainers/runtime-spec/specs-go" "github.com/prometheus/client_golang/prometheus" - "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config" cgroupscfg "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config/cgroups" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" ) type cgroupV2Handler struct { cfg cgroupscfg.Config - logger logrus.FieldLogger + logger log.Logger *cgroupsMetrics pid int } -func newV2Handler(cfg cgroupscfg.Config, logger logrus.FieldLogger, pid int) *cgroupV2Handler { +func newV2Handler(cfg cgroupscfg.Config, logger log.Logger, pid int) *cgroupV2Handler { return &cgroupV2Handler{ cfg: cfg, logger: logger, @@ -190,7 +190,7 @@ func (cvh *cgroupV2Handler) stats() (Stats, error) { return stats, nil } -func pruneOldCgroupsV2(cfg cgroupscfg.Config, logger logrus.FieldLogger) { +func pruneOldCgroupsV2(cfg cgroupscfg.Config, logger log.Logger) { if err := config.PruneOldGitalyProcessDirectories( logger, filepath.Join(cfg.Mountpoint, cfg.HierarchyRoot), |