@@ -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-
7662func 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