-
Notifications
You must be signed in to change notification settings - Fork 16
/
metrics.go
42 lines (35 loc) · 1.05 KB
/
metrics.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package scheduler
import (
"github.com/beam-cloud/beta9/pkg/repository"
"github.com/beam-cloud/beta9/pkg/types"
)
type SchedulerMetrics struct {
metricsRepo repository.MetricsRepository
}
func NewSchedulerMetrics(metricsRepo repository.MetricsRepository) SchedulerMetrics {
return SchedulerMetrics{
metricsRepo: metricsRepo,
}
}
func (sm *SchedulerMetrics) CounterIncContainerScheduled(request *types.ContainerRequest) {
if sm.metricsRepo == nil {
return
}
sm.metricsRepo.IncrementCounter(types.MetricsSchedulerContainerScheduled, map[string]interface{}{
"value": 1,
"workspace_id": request.WorkspaceId,
"stub_id": request.StubId,
"gpu": request.Gpu,
}, 1.0)
}
func (sm *SchedulerMetrics) CounterIncContainerRequested(request *types.ContainerRequest) {
if sm.metricsRepo == nil {
return
}
sm.metricsRepo.IncrementCounter(types.MetricsSchedulerContainerRequested, map[string]interface{}{
"value": 1,
"workspace_id": request.WorkspaceId,
"stub_id": request.StubId,
"gpu": request.Gpu,
}, 1.0)
}