summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorPshyk, SerhiyX <serhiyx.pshyk@intel.com>2017-08-01 14:13:43 +0100
committerSerhiy Pshyk <serhiyx.pshyk@intel.com>2017-08-21 09:12:36 +0000
commit5bd6acd12e4c34a8c7914b4ac2547b5e2e2f1944 (patch)
tree24b755591d4413270f1bc9b322747bfcf87d4bdd /docs
parent905d4a2f817ace4c0410eca23aacbd1656a0e701 (diff)
docs: add PMU plugin configuration guide
Change-Id: Id26dcc68c35b474b80e646a24275b94b5e7f3d9d Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/release/userguide/feature.userguide.rst69
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst
index 29298536..04bb79b4 100644
--- a/docs/release/userguide/feature.userguide.rst
+++ b/docs/release/userguide/feature.userguide.rst
@@ -49,6 +49,9 @@ Barometer has enabled the following collectd plugins:
* *mcelog plugin*: A read plugin that uses mcelog client protocol to check for
memory Machine Check Exceptions and sends the stats for reported exceptions
+* *PMU plugin*: A read plugin that provides performance counters data on
+ Intel CPUs using Linux perf interface.
+
* *RDT plugin*: A read plugin that provides the last level cache utilization and
memory bandwidth utilization
@@ -359,6 +362,72 @@ include:
For more information on the plugin parameters, please see:
https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod
+Intel PMU Plugin
+^^^^^^^^^^^^^^^^
+Repo: https://github.com/collectd/collectd
+
+Branch: master
+
+Dependencies:
+
+ * PMU tools (jevents library) https://github.com/andikleen/pmu-tools
+
+To be suitable for use in collectd plugin shared library *libjevents* should be
+compiled as position-independent code. To do this add the following line to
+*pmu-tools/jevents/Makefile*:
+
+.. code:: bash
+
+ CFLAGS += -fPIC
+
+Building and installing *jevents* library:
+
+.. code:: bash
+
+ $ git clone https://github.com/andikleen/pmu-tools.git
+ $ cd pmu-tools/jevents/
+ $ make
+ $ sudo make install
+
+Building and installing collectd:
+
+.. code:: bash
+
+ $ git clone https://github.com/collectd/collectd.git
+ $ cd collectd
+ $ ./build.sh
+ $ ./configure --enable-syslog --enable-logfile --with-libjevents=/usr/local --enable-debug
+ $ make
+ $ sudo make install
+
+This will install collectd to /opt/collectd
+The collectd configuration file can be found at /opt/collectd/etc
+To configure the PMU plugin you need to modify the configuration file to
+include:
+
+.. code:: bash
+
+ <LoadPlugin intel_pmu>
+ Interval 1
+ </LoadPlugin>
+ <Plugin "intel_pmu">
+ ReportHardwareCacheEvents true
+ ReportKernelPMUEvents true
+ ReportSoftwareEvents true
+ </Plugin>
+
+For more information on the plugin parameters, please see:
+https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod
+
+.. note::
+
+ The plugin opens file descriptors whose quantity depends on number of
+ monitored CPUs and number of monitored counters. Depending on configuration,
+ it might be required to increase the limit on the number of open file
+ descriptors allowed. This can be done using 'ulimit -n' command. If collectd
+ is executed as a service 'LimitNOFILE=' directive should be defined in
+ [Service] section of *collectd.service* file.
+
Intel RDT Plugin
^^^^^^^^^^^^^^^^
Repo: https://github.com/collectd/collectd