You can't hide em in the PMNS ... until you call pmNewContext you don't know if
the operands are all defined for a derived metric. And the client may call
pmNewContext multiple times with several different outcomes (even more so with
the recent multi-archive changes).
Better IMHO would be to extend the derived metrics grammar to allow an
"optional" or similar keyword to suppress error messages ... similar to
pmchart's optional clause.
-----Original Message-----
From: Nathan Scott <nathans@xxxxxxxxxx>
To: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Cc: pcp developers <pcp@xxxxxxxxxxx>
Sent: Wed, 20 Apr 2016 2:20 pm
Subject: Re: [pcp] Archive pmLookupDesc errors (global derived metrics induced)
----- Original Message -----
> On 04/20/2016 01:26 PM, Nathan Scott wrote:
> hmm, the root cause seems to be that derived metrics are always defined
> in the namespace, even if their operand metrics are not present in the
> archive, as below. It looks like event.flags and event.missed sort of
> similarly exhibit this issue too - they're both globally derived metrics
> defined by a call to __pmRegisterAnon() from __dminit() in libpcp.
Yep, but they're "safe" in that they are always valid.
> The global derived metrics should be omitted from the pmns somehow I guess,
> or maybe only defined if all their operands are present?
Yeah - the latter sounds better to me, if its possible - implementing it may
prove tricky.
cheers.
--
Nathan
_______________________________________________
pcp mailing list
pcp@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/pcp
|