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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
package cgroups
import "github.com/prometheus/client_golang/prometheus"
type cgroupsMetrics struct {
memoryReclaimAttemptsTotal *prometheus.GaugeVec
cpuUsage *prometheus.GaugeVec
cpuCFSPeriods *prometheus.Desc
cpuCFSThrottledPeriods *prometheus.Desc
cpuCFSThrottledTime *prometheus.Desc
procs *prometheus.GaugeVec
}
func newV1CgroupsMetrics() *cgroupsMetrics {
return &cgroupsMetrics{
memoryReclaimAttemptsTotal: prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "gitaly_cgroup_memory_reclaim_attempts_total",
Help: "Number of memory usage hits limits",
},
[]string{"path"},
),
cpuUsage: prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "gitaly_cgroup_cpu_usage_total",
Help: "CPU Usage of Cgroup",
},
[]string{"path", "type"},
),
cpuCFSPeriods: prometheus.NewDesc(
"gitaly_cgroup_cpu_cfs_periods_total",
"Number of elapsed enforcement period intervals",
[]string{"path"}, nil,
),
cpuCFSThrottledPeriods: prometheus.NewDesc(
"gitaly_cgroup_cpu_cfs_throttled_periods_total",
"Number of throttled period intervals",
[]string{"path"}, nil,
),
cpuCFSThrottledTime: prometheus.NewDesc(
"gitaly_cgroup_cpu_cfs_throttled_seconds_total",
"Total time duration the Cgroup has been throttled",
[]string{"path"}, nil,
),
procs: prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "gitaly_cgroup_procs_total",
Help: "Total number of procs",
},
[]string{"path", "subsystem"},
),
}
}
func newV2CgroupsMetrics() *cgroupsMetrics {
return &cgroupsMetrics{
cpuUsage: prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "gitaly_cgroup_cpu_usage_total",
Help: "CPU Usage of Cgroup",
},
[]string{"path", "type"},
),
cpuCFSPeriods: prometheus.NewDesc(
"gitaly_cgroup_cpu_cfs_periods_total",
"Number of elapsed enforcement period intervals",
[]string{"path"}, nil,
),
cpuCFSThrottledPeriods: prometheus.NewDesc(
"gitaly_cgroup_cpu_cfs_throttled_periods_total",
"Number of throttled period intervals",
[]string{"path"}, nil,
),
cpuCFSThrottledTime: prometheus.NewDesc(
"gitaly_cgroup_cpu_cfs_throttled_seconds_total",
"Total time duration the Cgroup has been throttled",
[]string{"path"}, nil,
),
procs: prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "gitaly_cgroup_procs_total",
Help: "Total number of procs",
},
[]string{"path", "subsystem"},
),
}
}
|