feat(metrics): add scheduler related metrics (#2076)

Signed-off-by: Alexei Dodon <adodon@cisco.com>
This commit is contained in:
Alexei Dodon
2023-12-05 00:13:50 +02:00
committed by GitHub
parent 8bac653dd2
commit 2e733b3f4f
21 changed files with 566 additions and 69 deletions
+10
View File
@@ -2,6 +2,7 @@ package cveinfo
import (
"context"
"fmt"
"sync"
"zotregistry.io/zot/pkg/log"
@@ -194,3 +195,12 @@ func (st *scanTask) DoWork(ctx context.Context) error {
return nil
}
func (st *scanTask) String() string {
return fmt.Sprintf("{Name: \"%s\", repo: \"%s\", digest: \"%s\"}",
st.Name(), st.repo, st.digest)
}
func (st *scanTask) Name() string {
return "ScanTask"
}
+5 -3
View File
@@ -57,7 +57,8 @@ func TestScanGeneratorWithMockedData(t *testing.T) { //nolint: gocyclo
cfg := config.New()
cfg.Scheduler = &config.SchedulerConfig{NumWorkers: 3}
sch := scheduler.NewScheduler(cfg, logger)
metrics := monitoring.NewMetricsServer(true, logger)
sch := scheduler.NewScheduler(cfg, metrics, logger)
params := boltdb.DBParameters{
RootDir: t.TempDir(),
@@ -502,8 +503,9 @@ func TestScanGeneratorWithRealData(t *testing.T) {
metaDB, err := boltdb.New(boltDriver, logger)
So(err, ShouldBeNil)
metrics := monitoring.NewMetricsServer(true, logger)
imageStore := local.NewImageStore(rootDir, false, false,
logger, monitoring.NewMetricsServer(false, logger), nil, nil)
logger, metrics, nil, nil)
storeController := storage.StoreController{DefaultStore: imageStore}
image := CreateRandomVulnerableImage()
@@ -520,7 +522,7 @@ func TestScanGeneratorWithRealData(t *testing.T) {
So(scanner.IsResultCached(image.DigestStr()), ShouldBeFalse)
sch := scheduler.NewScheduler(cfg, logger)
sch := scheduler.NewScheduler(cfg, metrics, logger)
generator := cveinfo.NewScanTaskGenerator(metaDB, scanner, logger)
+9
View File
@@ -2,6 +2,7 @@ package cveinfo
import (
"context"
"fmt"
"sync"
"time"
@@ -118,3 +119,11 @@ func (dbt *dbUpdateTask) DoWork(ctx context.Context) error {
return nil
}
func (dbt *dbUpdateTask) String() string {
return fmt.Sprintf("{Name: %s}", dbt.Name())
}
func (dbt *dbUpdateTask) Name() string {
return "DBUpdateTask"
}
+3 -1
View File
@@ -14,6 +14,7 @@ import (
. "github.com/smartystreets/goconvey/convey"
"zotregistry.io/zot/pkg/api/config"
"zotregistry.io/zot/pkg/extensions/monitoring"
cveinfo "zotregistry.io/zot/pkg/extensions/search/cve"
"zotregistry.io/zot/pkg/log"
mTypes "zotregistry.io/zot/pkg/meta/types"
@@ -37,7 +38,8 @@ func TestCVEDBGenerator(t *testing.T) {
cfg := config.New()
cfg.Scheduler = &config.SchedulerConfig{NumWorkers: 3}
sch := scheduler.NewScheduler(cfg, logger)
metrics := monitoring.NewMetricsServer(true, logger)
sch := scheduler.NewScheduler(cfg, metrics, logger)
metaDB := &mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {