pcp
[Top] [All Lists]

Re: user friendly PMAPI

To: gilly <gilly@xxxxxxxxxx>
Subject: Re: user friendly PMAPI
From: Ken McDonell <kenmcd@xxxxxxxxxxxxxxxxx>
Date: Fri, 29 Jun 2001 12:34:23 +1000
Cc: <pcp@xxxxxxxxxxx>
In-reply-to: <000401c0fa33$6d9c2680$2a04000a@exanet>
Reply-to: <kenmcd@xxxxxxx>
Sender: owner-pcp@xxxxxxxxxxx
On Thu, 21 Jun 2001, gilly wrote:

> hello again.
> The man page of pmFetch says - "Note that pmFetch is the most primitive
> method of fetchingmetric values from the PMCS. More user friendly interfaces
> to the PMCS are available or currently under development..." Are there any
> 'more friendly interfaces available NOW in the open source package? if so,
> can you please tell me where?

No there are none that we'd promote to the point of documenting how
they work and encouraging people to use them.

We've had several (3, 4, may be more) to define an abstraction that
has been termed the "performance metrics class" API ... there is
an instance of this in:

    - pmie (uses a homebrew scheme, no external APIs)
    - the __pmOptFetch family of routines in libpcp and the higher
      level wrappers around these implemented by the __pmFetchGroup
      family of routines in libpcp_mon: used by pmlogger, pmchart
      and opsview
    - libpcp_omc (uses __pmFetchGroup): used by pmview, pmview+ and
      the old oview.
    - libpcp_pmc: used by pmdumptext, pmgadgets, pmjd

Some, but definitely not all of these have been open sourced.

In each case we've ended up with an API that is easier to code to (even
this is open to dispute), at the cost of some reduced functionality.
The trade-offs were ones that we could not all agree to, and we seemed
to be no closer to converging on a better solution at each iteration.

So the whole issue has been pushed into the "too hard" basket ... the
pmFetch man page is a historical hangover.

If anyone wants to pick this issue up and run with it, please go ahead
... I can think of several champions for the existing abortive
attempts who'd be happy to review suggestions and highlight the
conceptual and semantic difficulties.


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