Skip to content

Commit ed8b083

Browse files
authored
Merge pull request #1 from groove-x/feature/support-rss
add memory_rss
2 parents 638a47b + cf38dc1 commit ed8b083

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,19 @@ container_cpu_user_seconds_total{id="/system.slice/docker.service"} 2219.16
2121
container_cpu_user_seconds_total{id="/system.slice/NetworkManager.service"} 4283.36
2222
:
2323
24-
# HELP container_memory_usage_bytes Current memory usage in bytes.
24+
# HELP container_memory_usage_bytes Current memory usage in bytes, including all memory regardless of when it was accessed
2525
# TYPE container_memory_usage_bytes gauge
2626
container_memory_usage_bytes{id="/system.slice/wpa_supplicant.service"} 1871872
2727
container_memory_usage_bytes{id="/system.slice/ssh.service"} 61440
2828
container_memory_usage_bytes{id="/system.slice/docker.service"} 37171200
2929
container_memory_usage_bytes{id="/system.slice/NetworkManager.service"} 18305024
3030
:
31+
32+
# HELP container_memory_rss Size of RSS in bytes.
33+
# TYPE container_memory_rss gauge
34+
container_memory_rss{id="/system.slice/wpa_supplicant.service"} 331776
35+
container_memory_rss{id="/system.slice/ssh.service"} 110592
36+
container_memory_rss{id="/system.slice/docker.service"} 24072192
37+
container_memory_rss{id="/system.slice/NetworkManager.service"} 5066752
38+
:
3139
```

deb.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "prometheus-cgroup-exporter",
3-
"version": "0.1.1",
3+
"version": "0.1.2",
44
"maintainer": "GROOVE X Development Team <dev@groove-x.com>",
55
"description": "prometheus cgroup exporter",
66
"changelog-cmd": "git log --pretty='format:%cd %h %s %d [%an]' --date=iso --merges",

main.go

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,6 @@ func main() {
5959
}
6060
}
6161

62-
var (
63-
cpuUserTotalHeader = `# HELP container_cpu_user_seconds_total Cumulative user cpu time consumed in seconds.
64-
# TYPE container_cpu_user_seconds_total counter
65-
`
66-
cpuUserTotalFormat = `container_cpu_user_seconds_total{id=%s} %.2f
67-
`
68-
69-
memoryUsageHeader = `# HELP container_memory_usage_bytes Current memory usage in bytes.
70-
# TYPE container_memory_usage_bytes gauge
71-
`
72-
memoryUsageFormat = `container_memory_usage_bytes{id=%s} %d
73-
`
74-
)
75-
7662
func subsystem() ([]cgroups.Subsystem, error) {
7763
root := "/sys/fs/cgroup"
7864
s := []cgroups.Subsystem{
@@ -114,14 +100,27 @@ func exportMetrics(system cgroups.Cgroup) func(w http.ResponseWriter, r *http.Re
114100
groups[name] = stats
115101
}
116102

117-
fmt.Fprint(w, cpuUserTotalHeader)
103+
fmt.Fprintln(w, `# HELP container_cpu_user_seconds_total Cumulative user cpu time consumed in seconds.
104+
# TYPE container_cpu_user_seconds_total counter`)
105+
for name, stats := range groups {
106+
fmt.Fprintf(w, `container_cpu_user_seconds_total{id=%s} %.2f`, strconv.Quote(name), float64(stats.CPU.Usage.User)/1000000000.0)
107+
fmt.Fprintln(w)
108+
}
109+
110+
fmt.Fprintln(w, `# HELP container_memory_usage_bytes Current memory usage in bytes, including all memory regardless of when it was accessed
111+
# TYPE container_memory_usage_bytes gauge`)
118112
for name, stats := range groups {
119-
fmt.Fprintf(w, cpuUserTotalFormat, strconv.Quote(name), float64(stats.CPU.Usage.User)/1000000000.0)
113+
fmt.Fprintf(w, `container_memory_usage_bytes{id=%s} %d`, strconv.Quote(name), stats.Memory.Usage.Usage)
114+
fmt.Fprintln(w)
120115
}
121-
fmt.Fprint(w, memoryUsageHeader)
116+
117+
fmt.Fprintln(w, `# HELP container_memory_rss Size of RSS in bytes.
118+
# TYPE container_memory_rss gauge`)
122119
for name, stats := range groups {
123-
fmt.Fprintf(w, memoryUsageFormat, strconv.Quote(name), stats.Memory.Usage.Usage)
120+
fmt.Fprintf(w, `container_memory_rss{id=%s} %d`, strconv.Quote(name), stats.Memory.RSS)
121+
fmt.Fprintln(w)
124122
}
123+
125124
return
126125
}
127126
}

0 commit comments

Comments
 (0)