monitoring-plugin-perl icon indicating copy to clipboard operation
monitoring-plugin-perl copied to clipboard

Threshold specification fixes

Open edlitmus opened this issue 7 years ago • 5 comments

After writing tests for a monitoring tool that uses this module I notices what seems like deviations from the written specs for thresholds, going by:

https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT

For instance, this rule:

@6

by my reading should mean 'inside the range [0 - 6]', while this rule:

6

would be 'anything outside the range [6 - positive infinity]', so anything less than 6.

Similarly, ~:25 would be anything over 25, while @~:25 would be 'anything in the range of negative infinity to 25'.

If I'm on crack please feel free to say so.

edlitmus avatar Apr 18 '17 20:04 edlitmus

The link to the nagios document is broken ?

hirotnk avatar Apr 18 '17 20:04 hirotnk

fixed link in description

edlitmus avatar Apr 18 '17 21:04 edlitmus

Mixing whitespace changes with functional changes makes reviews really hard. I also don't understand whats the purpose of invertig the unit tests?

sni avatar Apr 20 '17 14:04 sni

Here are some notes:

  • parse_range_string() was not setting $range->end_infinity(0); in the last if statement

  • The test diag statements specified that they were inclusive tests, but according to the spec they were testing exclusion.

  • check_range() was not applying the rules for inclusion/exclusion of ranges according to the spec and didn't untainted the $value variable passed in.

Sorry about the white space thing. There was a mix of tabs and spaces that made parts hard to read and I ran them through perltidy out of habit.

edlitmus avatar Apr 20 '17 15:04 edlitmus

About whitespace, IIRC we settled toward using tabs for indent and space for alignment (i.e. continuation lines should be tab-indented like the preceding line then space-indented to align). ex:

sub main {
[TAB]if ($foo & 0x0010 &&
[TAB][SP]$bar & 0x1000) {
[TAB][TAB]do_something();
[TAB]}
}

This way you can adjust the tab size to your liking and alignment remains correct.

I believe only 7 lines would be affected if you fix indents accordingly.

Regards

dermoth avatar Apr 26 '17 17:04 dermoth