pcp
[Top] [All Lists]

fetchgroups api - python bindings

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: fetchgroups api - python bindings
From: "Frank Ch. Eigler" <fche@xxxxxxxxxx>
Date: Sun, 6 Dec 2015 15:47:42 -0500
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mutt/1.4.2.2i
Hi -

Fresh on pcpfans.git fche/fetchgroup, comes python bindings.  The
outline checked with Marko earlier turns out to be implementable.

% cat foo.py
from pcp import pmapi
import cpmapi as c_api

ctx = pmapi.pmContext(c_api.PM_CONTEXT_HOST, "local:")
pmfg = pmapi.fetchgroup(ctx)
v = pmfg.extend_item("hinv.ncpu", c_api.PM_TYPE_U32)
vv = pmfg.extend_indom("kernel.all.load", c_api.PM_TYPE_FLOAT)

pmfg.fetch()
print ("number of cpus: %d" % v())
for icode, iname, value in vv():
    print ("load average %s: %f" % (iname, value()))

% python3 foo.py
number of cpus: 8
load average 1 minute: 0.050000
load average 5 minute: 0.290000
load average 15 minute: 0.400000


Here is a longer test/demo:

https://sourceware.org/git/gitweb.cgi?p=pcpfans.git;a=blob;f=qa/src/test_pmfg.python;hb=refs/heads/fche/fetchgroup

- FChE

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