we need a pmie rule to notice when any instance on a metric disappears.
Wouldnt u think that should be easy?
i came across ken's recent(ish) change..
commit 605771bf897aa7fe4c7c79215d901bb6e5960dc6
Author: Ken McDonell <kmcdonell@xxxxxxxxxx>
Date: Mon Jul 2 12:19:17 2007 +1000
Allow pmie and/or operators to function with some data missing.
This change modifies pmie to allow a logical OR expression to evalute
to true when only once side of the expression tree can be evaluated,
due to host down / instance unavailable / insufficient samples.
Same for logical AND expressions, and evaluating to false.
..so one might think
some_inst ( cluster.blah @1 >= 0 && ! cluster.blah >= 0 ) -> ...
would do (assuming valid values of cluster.blah are always >=0)..
but the problem is that actually if the instance disppears,
*both* cluster.blah *and* cluster.blah @1 become undefined.
Even if you just have
cluster.blah #node9 @1;
cluster.blah #node9 ;
and run pmie -V, you will see them both become '?' together when the node9
instance goes away. Likewise without the explicit instance spec, if there
are no other instances.
Does that seem like a bug? To do @1, pmie must somehow record current
values in a way that allows them to be matched to their instances..
so when asked for @1 values, why not report the recorded value for
cluster.blah at #node9 ?
while im about it, wouldnt u expect count_inst( cluster.blah >=0 )
to evaluate zero when there are no instances? and sum_inst ?
Dr.Michael("Kimba")Newton kimbrr@xxxxxxx
|