Hey,
As Nathan noted on the PCP developer conference call agenda[1], I've been
working on a new pmda for accessing Performance API counters. The
latest iteration has been pushed to the lberk/papi branch on pcpfans[2]
for anybody that would like to take a look (I would greatly appreciate
any feedback). Some potential points of interest (and maybe things to
discuss on tomorrows call?):
- I've decided to experiment with adding the metrics of interest on a
per client basis, instead of a global-enabled-all-metrics variable
which is set with the pmstore functions. I think this approach might
be worth applying here so we're more surgical in which events are
actually included in the active papi 'eventset', hopefully lowering
our performance hit while papi functionality is enabled.
- Currently just system wide events are reported, but I'd like to add
functionality for a per-process domain
- I'm aware that what is currently in the branch assumes papi is
installed on the machine running the PMDA. I'll be adding the
required configury bits moving forward to check for papi first.
- Currently the PMNS is fixed, a possible stretch goal would be to
dynamically create the PMNS based on what papi events are actually
available on the specific hardware.
- I've structured the PMNS currently to resemble
papi.kernel.<metric_name>
where 'metric_name' is similar to the papi 'event code' (ex,
total_inst or L2_TCM). This approach would leave room for the process
name once the per-process domain is added.
- Only root level UID's are allowed to access the papi values
Looking forward to discussing this tomorrow on the call, and any
thoughts on list welcome as well.
Thanks,
Lukas
[1] -
http://www.performancecopilot.org/pipermail/pcp-announce/2014-June/000043.html
[2] -
https://www.sourceware.org/git/gitweb.cgi?p=pcpfans.git;a=shotlog;h=refs/heads/lberk/papi
pgpMhhYojc1X5.pgp
Description: PGP signature
|