Skip to content

Commit 86861e7

Browse files
committed
Renaming and metric removal
1 parent d2b4543 commit 86861e7

File tree

3 files changed

+22
-78
lines changed

3 files changed

+22
-78
lines changed

components/ee/agent-smith/pkg/agent/agent.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func NewAgentSmith(cfg config.Config) (*Smith, error) {
142142
var filesystemClass classifier.FileClassifier
143143
if cfg.FilesystemScanning != nil && cfg.FilesystemScanning.Enabled {
144144
// Create filesystem detector config
145-
fsConfig := detector.FilesystemScanningConfig{
145+
fsConfig := detector.FileScanningConfig{
146146
Enabled: cfg.FilesystemScanning.Enabled,
147147
ScanInterval: cfg.FilesystemScanning.ScanInterval.Duration,
148148
MaxFileSize: cfg.FilesystemScanning.MaxFileSize,
@@ -257,7 +257,7 @@ type classifiedProcess struct {
257257
Err error
258258
}
259259

260-
type classifiedFilesystemFile struct {
260+
type classifiedFile struct {
261261
F detector.File
262262
C *classifier.Classification
263263
Err error
@@ -284,7 +284,7 @@ func (agent *Smith) Start(ctx context.Context, callback func(InfringingWorkspace
284284
cli = make(chan detector.Process, 500)
285285
clo = make(chan classifiedProcess, 50)
286286
fli = make(chan detector.File, 100)
287-
flo = make(chan classifiedFilesystemFile, 25)
287+
flo = make(chan classifiedFile, 25)
288288
)
289289
agent.metrics.RegisterClassificationQueues(cli, clo)
290290

@@ -322,15 +322,13 @@ func (agent *Smith) Start(ctx context.Context, callback func(InfringingWorkspace
322322
go func() {
323323
defer wg.Done()
324324
for file := range fli {
325-
log.Infof("Classifying filesystem file: %s", file.Path)
326325
class, err := agent.fileClassifier.MatchesFile(file.Path)
327-
// Early out for no matches
328326
if err == nil && class.Level == classifier.LevelNoMatch {
329327
log.Infof("File classification: no match - %s", file.Path)
330328
continue
331329
}
332330
log.Infof("File classification result: %s (level: %s, err: %v)", file.Path, class.Level, err)
333-
flo <- classifiedFilesystemFile{F: file, C: class, Err: err}
331+
flo <- classifiedFile{F: file, C: class, Err: err}
334332
}
335333
}()
336334
}

components/ee/agent-smith/pkg/detector/filesystem.go

Lines changed: 6 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"github.com/gitpod-io/gitpod/agent-smith/pkg/classifier"
1717
"github.com/gitpod-io/gitpod/agent-smith/pkg/common"
1818
"github.com/gitpod-io/gitpod/common-go/log"
19-
"github.com/prometheus/client_golang/prometheus"
2019
)
2120

2221
// FileDetector discovers suspicious files on the node
@@ -39,21 +38,15 @@ type fileDetector struct {
3938
mu sync.RWMutex
4039
fs chan File
4140

42-
config FilesystemScanningConfig
41+
config FileScanningConfig
4342
classifier classifier.FileClassifier
4443
lastScanTime time.Time
4544

46-
// Metrics
47-
filesScannedTotal prometheus.Counter
48-
filesFoundTotal prometheus.Counter
49-
scanDurationSeconds prometheus.Histogram
50-
droppedFilesTotal prometheus.Counter
51-
5245
startOnce sync.Once
5346
}
5447

55-
// FilesystemScanningConfig holds configuration for filesystem scanning
56-
type FilesystemScanningConfig struct {
48+
// FileScanningConfig holds configuration for file scanning
49+
type FileScanningConfig struct {
5750
Enabled bool
5851
ScanInterval time.Duration
5952
MaxFileSize int64
@@ -62,10 +55,10 @@ type FilesystemScanningConfig struct {
6255

6356
var _ FileDetector = &fileDetector{}
6457

65-
// NewfileDetector creates a new filesystem detector
66-
func NewfileDetector(config FilesystemScanningConfig, fsClassifier classifier.FileClassifier) (*fileDetector, error) {
58+
// NewfileDetector creates a new file detector
59+
func NewfileDetector(config FileScanningConfig, fsClassifier classifier.FileClassifier) (*fileDetector, error) {
6760
if !config.Enabled {
68-
return nil, fmt.Errorf("filesystem scanning is disabled")
61+
return nil, fmt.Errorf("file scanning is disabled")
6962
}
7063

7164
// Set defaults
@@ -83,47 +76,9 @@ func NewfileDetector(config FilesystemScanningConfig, fsClassifier classifier.Fi
8376
config: config,
8477
classifier: fsClassifier,
8578
lastScanTime: time.Time{}, // Zero time means never scanned
86-
filesScannedTotal: prometheus.NewCounter(prometheus.CounterOpts{
87-
Namespace: "gitpod",
88-
Subsystem: "agent_smith_filesystem_detector",
89-
Name: "files_scanned_total",
90-
Help: "total number of files scanned for signatures",
91-
}),
92-
filesFoundTotal: prometheus.NewCounter(prometheus.CounterOpts{
93-
Namespace: "gitpod",
94-
Subsystem: "agent_smith_filesystem_detector",
95-
Name: "files_found_total",
96-
Help: "total number of files found for signature matching",
97-
}),
98-
scanDurationSeconds: prometheus.NewHistogram(prometheus.HistogramOpts{
99-
Namespace: "gitpod",
100-
Subsystem: "agent_smith_filesystem_detector",
101-
Name: "scan_duration_seconds",
102-
Help: "time taken to scan workspace filesystems",
103-
}),
104-
droppedFilesTotal: prometheus.NewCounter(prometheus.CounterOpts{
105-
Namespace: "gitpod",
106-
Subsystem: "agent_smith_filesystem_detector",
107-
Name: "dropped_files_total",
108-
Help: "total number of files dropped due to backpressure",
109-
}),
11079
}, nil
11180
}
11281

113-
func (det *fileDetector) Describe(d chan<- *prometheus.Desc) {
114-
det.filesScannedTotal.Describe(d)
115-
det.filesFoundTotal.Describe(d)
116-
det.scanDurationSeconds.Describe(d)
117-
det.droppedFilesTotal.Describe(d)
118-
}
119-
120-
func (det *fileDetector) Collect(m chan<- prometheus.Metric) {
121-
det.filesScannedTotal.Collect(m)
122-
det.filesFoundTotal.Collect(m)
123-
det.scanDurationSeconds.Collect(m)
124-
det.droppedFilesTotal.Collect(m)
125-
}
126-
12782
func (det *fileDetector) start(ctx context.Context) {
12883
fs := make(chan File, 100)
12984
go func() {
@@ -159,11 +114,6 @@ func (det *fileDetector) start(ctx context.Context) {
159114
}
160115

161116
func (det *fileDetector) scanWorkspaces(files chan<- File) {
162-
start := time.Now()
163-
defer func() {
164-
det.scanDurationSeconds.Observe(time.Since(start).Seconds())
165-
}()
166-
167117
// Get filesystem signatures to know what files to look for
168118
filesystemSignatures := det.GetFileSignatures()
169119
if len(filesystemSignatures) == 0 {
@@ -263,9 +213,6 @@ func (det *fileDetector) scanWorkspaceDirectory(wsDir WorkspaceDirectory, signat
263213
continue
264214
}
265215

266-
det.filesScannedTotal.Inc()
267-
det.filesFoundTotal.Inc()
268-
269216
file := File{
270217
Path: filePath,
271218
Workspace: workspace,
@@ -280,7 +227,6 @@ func (det *fileDetector) scanWorkspaceDirectory(wsDir WorkspaceDirectory, signat
280227
case files <- file:
281228
log.Infof("File sent to channel: %s", filePath)
282229
default:
283-
det.droppedFilesTotal.Inc()
284230
log.Warnf("File dropped (channel full): %s", filePath)
285231
}
286232
}

components/ee/agent-smith/pkg/detector/filesystem_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,16 @@ func (m *mockFileClassifier) Collect(m2 chan<- prometheus.Metric) {}
3131
func TestFileDetector_Config_Defaults(t *testing.T) {
3232
tests := []struct {
3333
name string
34-
inputConfig FilesystemScanningConfig
35-
expectedConfig FilesystemScanningConfig
34+
inputConfig FileScanningConfig
35+
expectedConfig FileScanningConfig
3636
}{
3737
{
3838
name: "all defaults",
39-
inputConfig: FilesystemScanningConfig{
39+
inputConfig: FileScanningConfig{
4040
Enabled: true,
4141
WorkingArea: "/tmp/test-workspaces",
4242
},
43-
expectedConfig: FilesystemScanningConfig{
43+
expectedConfig: FileScanningConfig{
4444
Enabled: true,
4545
ScanInterval: 5 * time.Minute,
4646
MaxFileSize: 1024,
@@ -49,13 +49,13 @@ func TestFileDetector_Config_Defaults(t *testing.T) {
4949
},
5050
{
5151
name: "partial config",
52-
inputConfig: FilesystemScanningConfig{
52+
inputConfig: FileScanningConfig{
5353
Enabled: true,
5454
ScanInterval: 10 * time.Minute,
5555
MaxFileSize: 2048,
5656
WorkingArea: "/tmp/test-workspaces",
5757
},
58-
expectedConfig: FilesystemScanningConfig{
58+
expectedConfig: FileScanningConfig{
5959
Enabled: true,
6060
ScanInterval: 10 * time.Minute,
6161
MaxFileSize: 2048,
@@ -64,13 +64,13 @@ func TestFileDetector_Config_Defaults(t *testing.T) {
6464
},
6565
{
6666
name: "all custom values",
67-
inputConfig: FilesystemScanningConfig{
67+
inputConfig: FileScanningConfig{
6868
Enabled: true,
6969
ScanInterval: 2 * time.Minute,
7070
MaxFileSize: 512,
7171
WorkingArea: "/tmp/test-workspaces",
7272
},
73-
expectedConfig: FilesystemScanningConfig{
73+
expectedConfig: FileScanningConfig{
7474
Enabled: true,
7575
ScanInterval: 2 * time.Minute,
7676
MaxFileSize: 512,
@@ -101,7 +101,7 @@ func TestFileDetector_Config_Defaults(t *testing.T) {
101101
}
102102

103103
func TestFileDetector_DisabledConfig(t *testing.T) {
104-
config := FilesystemScanningConfig{
104+
config := FileScanningConfig{
105105
Enabled: false,
106106
}
107107

@@ -159,7 +159,7 @@ func TestDiscoverWorkspaceDirectories(t *testing.T) {
159159
}
160160

161161
// Create detector with temp working area
162-
config := FilesystemScanningConfig{
162+
config := FileScanningConfig{
163163
Enabled: true,
164164
WorkingArea: tempDir,
165165
}
@@ -235,7 +235,7 @@ func TestFindMatchingFiles(t *testing.T) {
235235
}
236236

237237
// Create detector
238-
config := FilesystemScanningConfig{
238+
config := FileScanningConfig{
239239
Enabled: true,
240240
WorkingArea: "/tmp", // Not used in this test
241241
}
@@ -325,7 +325,7 @@ func TestFileDetector_GetFileSignatures(t *testing.T) {
325325
},
326326
}
327327

328-
config := FilesystemScanningConfig{
328+
config := FileScanningConfig{
329329
Enabled: true,
330330
WorkingArea: "/tmp",
331331
}

0 commit comments

Comments
 (0)