Plugin_syspapi_sampler
- Date:
30 Sep 2019
NAME
Plugin_syspapi_sampler - man page for the LDMSD syspapi_sampler plugin
SYNOPSIS
Within ldmsd_controller or a configuration file: config name=syspapi_sampler producer=PRODUCER instance=INSTANCE [ schema=SCHEMA ] [ component_id=COMPONENT_ID ] [ cfg_file=PATH ] [ events=EVENTS ] [ cumulative=0|1 ] [ auto_pause=0|1 ]
DESCRIPTION
syspapi_sampler collects system-wide hardware event counters using Linux perf event (see perf_event_open(2)), but use PAPI event names. libpapi and libpfm are used to translate PAPI event names to Linux perf event attributes. In the case of per-process (job) data collection, please see Plugin_papi_sampler. There are two approaches to define a list of events: 1) events option, or 2) PAPI JSON config file. For the events option, simply list the events of interest separated by comma (e.g. events=PAPI_TOT_INS,PAPI_TOT_CYC). For the PAPI JSON config file (cfg_file option), the format of the file is as follows:
{ "schema": "my_syspapi", "events": [ ... ] }
The schema is optional, but if specified in the JSON config file, it precedes the schema name given at the config command. The events is a list of PAPI event names (strings).
If both cfg_file and events options are given to the config command, the list are concatenated. Please note that an event that appears on both lists will result in an error.
auto_pause=1 (which is the default) makes syspapi_sampler paused the data sampling when receiving a notification from papi_sampler that a job is active, and resumed the data sampling when receiving a notification from papi_sampler that all jobs have terminated. This is to prevent perf system resource contention. We have seen all 0 counters on papi_sampler without any errors (could be a silent error) when run it with active syspapi_sampler.
CONFIG OPTIONS
- name=syspapi_sampler
This MUST be syspapi_sampler (the name of the plugin).
- producer=PRODUCER
The name of the data producer (e.g. hostname).
- instance=INSTANCE
The name of the set produced by this plugin.
- schema=SCHEMA
The optional schema name (default: syspapi_sampler). Please note that the “schema” from the JSON cfg_file overrides this option.
- component_id=COMPONENT_ID
An integer identifying the component (default: 0).
- cfg_file=PATH
The path to JSON-formatted config file. This is optional if events option is specified. Otherwise, this option is required.
- events=EVENTS
The comma-separated list of PAPI events of interest (e.g. PAPI_TOT_INS,PAPI_TOT_CYC). This is optional if cfg_file is specified. Otherwise, this option is required.
- cumulative=0|1
0 (default) for non-cumulative data sampling (reset after read), or 1 for cumulative data sampling.
- auto_pause=0|1
0 to ignore papi_sampler pause/resume notification, or 1 (default) to pause/resume according to notifications from papi_sampler.
BUGS
No known bugs.
EXAMPLES
Plugin configuration example:
load name=syspapi_sampler config name=syspapi_sampler producer=${HOSTNAME} \ instance=${HOSTNAME}/syspapi component_id=2 \ cfg_file=/tmp/syspapi.json start name=syspapi_sampler interval=1000000 offset=0
JSON cfg_file example:
{ "events": [ "PAPI_TOT_INS", "PAPI_TOT_CYC" ] }
SEE ALSO
Plugin_papi_sampler(7), ldmsd(8), ldms_quickstart(7), ldmsd_controller(8), ldms_sampler_base(7).