Nathan and Mark pointed to the summary PMDA as an existance proof.
Just remember the PCP protocols are single-threaded, synchronous and
with timeouts ... so be very careful about starvation and deadlock,
e.g. consider the sequence:
client -> pmcd
-> summary PMDA
-> pmie
-> pmcd
The summary PMDA needs two threads of control:
1. launch pmie and block waiting for new values to be returned from
pmie
2. block on requests from pmcd, and return the most recently observed
values from 1.
If the nested PMDA is not calling pmcd, then this problem goes away, but
you may have a mutex problem with the nested PMDA having to concurrently
field requests from pmcd and the outermost PMDA ... remeber that
pmcd runs DSO PMDA requests serially, but runs daemon PMDA requests
in parallel.
On Mon, 16 Jul 2001, gilly wrote:
> Is it possible to write a PMDA which its metrics are accumulative metrics of
> another PMDA from other hosts? for example - a PMDA that calculates all RPC
> metrics of 5 hosts it monitors, therefore inside the 'total-RPC' PMDA
> there's a call to pmFetch for the rpc metrics (from linux PMDA) from the
> other hosts (the context is - PM_CONTEXT_HOST). Actually the call to
> 'pmFetch' for the accumulative metrics calls pmFetch for each host - for the
> calculated metrics.
> Does it matter if the PMDA's are installed as DSO?
> thanks in advance, gilly
>
|