pcp
[Top] [All Lists]

pmie rule for instance disappearing

To: pcp@xxxxxxxxxxx
Subject: pmie rule for instance disappearing
From: Michael Newton <kimbrr@xxxxxxx>
Date: Fri, 2 May 2008 15:14:13 +1000
Cc: Mark Goodwin <markgw@xxxxxxx>, Martin Hicks <mort@xxxxxxx>, Jonathan Knispel <jkwaoz@xxxxxxx>
In-reply-to: <Pine.SGI.4.58.0805021029100.153363238@snort.melbourne.sgi.com>
References: <20080410185433.GA7489@alcatraz.americas.sgi.com> <Pine.SGI.4.58.0804171418020.133110447@snort.melbourne.sgi.com> <20080417142353.GH30732@alcatraz.americas.sgi.com> <Pine.SGI.4.58.0805011753110.152307119@snort.melbourne.sgi.com> <20080501160747.GE29179@alcatraz.americas.sgi.com> <481A524E.9090000@sgi.com> <Pine.SGI.4.58.0805021029100.153363238@snort.melbourne.sgi.com>
Sender: pcp-bounce@xxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>