diff options
Diffstat (limited to 'plugins/check_swap.c')
-rw-r--r-- | plugins/check_swap.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/plugins/check_swap.c b/plugins/check_swap.c index 435a104e..dbf53a00 100644 --- a/plugins/check_swap.c +++ b/plugins/check_swap.c | |||
@@ -172,7 +172,8 @@ int main(int argc, char **argv) { | |||
172 | } | 172 | } |
173 | 173 | ||
174 | if (config.warn_is_set) { | 174 | if (config.warn_is_set) { |
175 | if ((config.warn.is_percentage && (percent_used >= (100 - (double)config.warn.value))) || config.warn.value >= data.metrics.free) { | 175 | if ((config.warn.is_percentage && (percent_used >= (100 - (double)config.warn.value))) || |
176 | config.warn.value >= data.metrics.free) { | ||
176 | sc1 = mp_set_subcheck_state(sc1, STATE_WARNING); | 177 | sc1 = mp_set_subcheck_state(sc1, STATE_WARNING); |
177 | } | 178 | } |
178 | } | 179 | } |
@@ -182,13 +183,14 @@ int main(int argc, char **argv) { | |||
182 | } | 183 | } |
183 | 184 | ||
184 | if (config.crit_is_set) { | 185 | if (config.crit_is_set) { |
185 | if ((config.crit.is_percentage && (percent_used >= (100 - (double)config.crit.value))) || config.crit.value >= data.metrics.free) { | 186 | if ((config.crit.is_percentage && (percent_used >= (100 - (double)config.crit.value))) || |
187 | config.crit.value >= data.metrics.free) { | ||
186 | sc1 = mp_set_subcheck_state(sc1, STATE_CRITICAL); | 188 | sc1 = mp_set_subcheck_state(sc1, STATE_CRITICAL); |
187 | } | 189 | } |
188 | } | 190 | } |
189 | 191 | ||
190 | xasprintf(&sc1.output, _("%g%% free (%lluMiB out of %lluMiB)"), (100 - percent_used), data.metrics.free >> 20, | 192 | xasprintf(&sc1.output, _("%g%% free (%lluMiB out of %lluMiB)"), (100 - percent_used), |
191 | data.metrics.total >> 20); | 193 | data.metrics.free >> 20, data.metrics.total >> 20); |
192 | 194 | ||
193 | overall.summary = "Swap"; | 195 | overall.summary = "Swap"; |
194 | mp_add_subcheck_to_check(&overall, sc1); | 196 | mp_add_subcheck_to_check(&overall, sc1); |
@@ -201,7 +203,9 @@ int check_swap(float free_swap_mb, float total_swap_mb, swap_config config) { | |||
201 | return config.no_swap_state; | 203 | return config.no_swap_state; |
202 | } | 204 | } |
203 | 205 | ||
204 | uint64_t free_swap = (uint64_t)(free_swap_mb * (1024 * 1024)); /* Convert back to bytes as warn and crit specified in bytes */ | 206 | uint64_t free_swap = |
207 | (uint64_t)(free_swap_mb * | ||
208 | (1024 * 1024)); /* Convert back to bytes as warn and crit specified in bytes */ | ||
205 | 209 | ||
206 | if (!config.crit.is_percentage && config.crit.value >= free_swap) { | 210 | if (!config.crit.is_percentage && config.crit.value >= free_swap) { |
207 | return STATE_CRITICAL; | 211 | return STATE_CRITICAL; |
@@ -210,13 +214,16 @@ int check_swap(float free_swap_mb, float total_swap_mb, swap_config config) { | |||
210 | return STATE_WARNING; | 214 | return STATE_WARNING; |
211 | } | 215 | } |
212 | 216 | ||
213 | uint64_t usage_percentage = (uint64_t)((total_swap_mb - free_swap_mb) / total_swap_mb) * HUNDRED_PERCENT; | 217 | uint64_t usage_percentage = |
218 | (uint64_t)((total_swap_mb - free_swap_mb) / total_swap_mb) * HUNDRED_PERCENT; | ||
214 | 219 | ||
215 | if (config.crit.is_percentage && config.crit.value != 0 && usage_percentage >= (HUNDRED_PERCENT - config.crit.value)) { | 220 | if (config.crit.is_percentage && config.crit.value != 0 && |
221 | usage_percentage >= (HUNDRED_PERCENT - config.crit.value)) { | ||
216 | return STATE_CRITICAL; | 222 | return STATE_CRITICAL; |
217 | } | 223 | } |
218 | 224 | ||
219 | if (config.warn.is_percentage && config.warn.value != 0 && usage_percentage >= (HUNDRED_PERCENT - config.warn.value)) { | 225 | if (config.warn.is_percentage && config.warn.value != 0 && |
226 | usage_percentage >= (HUNDRED_PERCENT - config.warn.value)) { | ||
220 | return STATE_WARNING; | 227 | return STATE_WARNING; |
221 | } | 228 | } |
222 | 229 | ||