@@ -95,48 +95,75 @@ resource "coder_agent" "dev" {
95
95
96
96
metadata {
97
97
display_name = " CPU Usage"
98
- key = " cpu"
99
- script = << EOT
100
- vmstat | awk 'FNR==3 {printf "%2.0f%%", $13+$14+$16}'
101
- EOT
102
- interval = 1
98
+ interval = 10
103
99
timeout = 1
100
+ key = " 0_cpu_usage"
101
+ script = << EOT
102
+ #!/bin/bash
103
+ # interval in microseconds should be metadata.interval * 1000000
104
+ interval=10000000
105
+ ncores=$(nproc)
106
+ cusage_p=$(cat /tmp/cusage || echo 0)
107
+ cusage=$(cat /sys/fs/cgroup/cpu.stat | head -n 1 | awk '{ print $2 }') && echo "$cusage $cusage_p $interval $ncores" | awk '{ printf "%2.0f%%\n", (($1 - $2)/$3/$4)*100 }'
108
+ echo $cusage > /tmp/cusage
109
+ EOT
104
110
}
105
111
106
112
metadata {
107
- display_name = " Load Average"
108
- key = " load"
109
- script = " awk '{print $1}' /proc/loadavg"
110
- interval = 1
113
+ display_name = " RAM Usage"
114
+ interval = 10
111
115
timeout = 1
116
+ key = " 1_ram_usage"
117
+ script = << EOT
118
+ #!/bin/bash
119
+ echo "`cat /sys/fs/cgroup/memory.current` `cat /sys/fs/cgroup/memory.max`" | awk '{ used=$1/1024/1024/1024; total=$2/1024/1024/1024; printf "%0.2f / %0.2f GB\n", used, total }'
120
+ EOT
112
121
}
113
122
123
+
114
124
metadata {
115
- display_name = " Disk Usage"
116
- key = " disk"
117
- script = " df -h | awk '$6 ~ /^\\ /$/ { print $5 }'"
118
- interval = 1
125
+ display_name = " CPU Usage (Host)"
126
+ key = " 2_cpu_host"
127
+ script = << EOT
128
+ vmstat | awk 'FNR==3 {printf "%2.0f%%", $13+$14+$16}'
129
+ EOT
130
+ interval = 10
119
131
timeout = 1
120
132
}
121
133
122
134
metadata {
123
- display_name = " Memory Usage"
124
- key = " mem "
135
+ display_name = " Memory Usage (Host) "
136
+ key = " 3_mem_host "
125
137
script = << EOT
126
- free | awk '/^Mem/ { printf("%.0f%%", $4/$2 * 100.0) }'
127
- EOT
128
- interval = 1
138
+ free | awk '/^Mem/ { printf("%.0f%%", $4/$2 * 100.0) }'
139
+ EOT
140
+ interval = 10
141
+ timeout = 1
142
+ }
143
+
144
+ metadata {
145
+ display_name = " Load Average (Host)"
146
+ key = " 4_load_host"
147
+ script = " awk '{print $1}' /proc/loadavg"
148
+ interval = 10
129
149
timeout = 1
130
150
}
131
151
152
+ metadata {
153
+ display_name = " Disk Usage (Host)"
154
+ key = " 5_disk_host"
155
+ script = " df -h | awk '$6 ~ /^\\ /$/ { print $5 }'"
156
+ interval = 600
157
+ timeout = 10 # getting disk usage can take a while
158
+ }
132
159
133
160
metadata {
134
161
display_name = " Word of the Day"
135
- key = " word "
162
+ key = " 6_word "
136
163
script = << EOT
137
- curl -o - --silent https://www.merriam-webster.com/word-of-the-day 2>&1 | awk ' $0 ~ "Word of the Day: [A-z]+" { print $5; exit }'
138
- EOT
139
- interval = 60
164
+ curl -o - --silent https://www.merriam-webster.com/word-of-the-day 2>&1 | awk ' $0 ~ "Word of the Day: [A-z]+" { print $5; exit }'
165
+ EOT
166
+ interval = 86400
140
167
timeout = 5
141
168
}
142
169
0 commit comments