Difference between revisions of "Plugin:Intel PMU"

From collectd Wiki
Jump to: navigation, search
(Synopsis)
Line 29: Line 29:
  
 
For a full description of available options please refer to the {{Manpage|collectd.conf|5|plugin_intel_pmu}} manual page.
 
For a full description of available options please refer to the {{Manpage|collectd.conf|5|plugin_intel_pmu}} manual page.
 +
 +
=== Parameters ===
 +
 +
{|class="wikitable"
 +
! Name
 +
! Description
 +
! Comment
 +
|-
 +
| Interval
 +
| The interval within which to retrieve statistics on monitored events in seconds
 +
| Interval option is supported by collectd and is defined in <LoadPlugin> block. No additional functionality should be developed in intel_pmu plugin to support this option.
 +
|-
 +
| ReportHardwareCacheEvents
 +
| Enable/disable monitoring of hardware cache events
 +
|
 +
|-
 +
| ReportKernelPMUEvents
 +
| Enable/disable monitoring of kernel PMU events
 +
|
 +
|-
 +
| ReportSoftwareEvents
 +
| Enable/disable monitoring of software vents
 +
|
 +
|-
 +
| EventList
 +
| Path to hardware events list file for current CPU.
 +
| File can be downloaded by event_download.py script which is part of pmu-tools package.
 +
|-
 +
| HardwareEvents
 +
| String containing comma separated list of hardware specific events to monitor
 +
|
 +
|-
 +
| Cores
 +
| Core groups definition. Monitored metrics are reported only for configured cores. If this option is omitted all available cores are monitored.
 +
If a group is enclosed in square brackets each core is added individually to a separate group (that is statistics are not aggregated).
 +
| Allowed formats:
 +
"0,1,2,3"
 +
"0-3"
 +
"[0-3]"
 +
|-
 +
| HardwareEvents
 +
| Enable/disable dispatching of cloned multi PMU for uncore events. If
 +
disabled only total sum is dispatched as single event. If enabled separate
 +
metric is dispatched for every counter.
 +
| Uncore event example: UNC_CHA_DIR_LOOKUP.NO_SNP.
 +
If enabled information about event type is added to type_instance, e.g.: "UNC_CHA_DIR_LOOKUP.NO_SNP:type=30". It allows to distinguish between multiple counters for one event.
 +
|}
 +
 +
  
 
== Example graph ==
 
== Example graph ==

Revision as of 10:47, 16 June 2020

Intel PMU plugin
Type: read
Callbacks: config, init, read, shutdown
Status: supported
First version: 5.8
Copyright: 2017–2018 Intel Corporation
License: MIT license
Manpage: collectd.conf(5)
List of Plugins

The intel_pmu plugin collects information provided by Linux perf interface which provides rich generalized abstractions over hardware specific capabilities. All events are reported on a per core basis.

Performance counters are CPU hardware registers that count hardware events such as instructions executed, cache-misses suffered, or branches mispredicted. They form a basis for profiling applications to trace dynamic control flow and identify hotspots.

For a full description of available options please refer to the collectd.conf(5) manual page.

Synopsis

→ See: Plugin:Intel_PMU/Config
<Plugin intel_pmu>
   ReportHardwareCacheEvents true
   ReportKernelPMUEvents true
   ReportSoftwareEvents true
   EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json"
   HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD"
   Cores "0" "1,35" "[12-17]"
   DispatchMultiPmu false
 </Plugin>

For a full description of available options please refer to the collectd.conf(5) manual page.

Parameters

Name Description Comment
Interval The interval within which to retrieve statistics on monitored events in seconds Interval option is supported by collectd and is defined in <LoadPlugin> block. No additional functionality should be developed in intel_pmu plugin to support this option.
ReportHardwareCacheEvents Enable/disable monitoring of hardware cache events
ReportKernelPMUEvents Enable/disable monitoring of kernel PMU events
ReportSoftwareEvents Enable/disable monitoring of software vents
EventList Path to hardware events list file for current CPU. File can be downloaded by event_download.py script which is part of pmu-tools package.
HardwareEvents String containing comma separated list of hardware specific events to monitor
Cores Core groups definition. Monitored metrics are reported only for configured cores. If this option is omitted all available cores are monitored.

If a group is enclosed in square brackets each core is added individually to a separate group (that is statistics are not aggregated).

Allowed formats:

"0,1,2,3" "0-3" "[0-3]"

HardwareEvents Enable/disable dispatching of cloned multi PMU for uncore events. If

disabled only total sum is dispatched as single event. If enabled separate metric is dispatched for every counter.

Uncore event example: UNC_CHA_DIR_LOOKUP.NO_SNP.

If enabled information about event type is added to type_instance, e.g.: "UNC_CHA_DIR_LOOKUP.NO_SNP:type=30". It allows to distinguish between multiple counters for one event.


Example graph

Graph pmu instructions.png

Instructions (counter) corresponding to perf metric PERF_COUNT_HW_INSTRUCTIONS.

History

  • Cores option is available since release 5.8.1.
  • Support for uncore multi pmu was added in 5.11

Dependencies

See also