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
|