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 | ||
