aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJabir Kanhira Kadavathu <jabir.kanhira.kadavathu@intel.com>2020-09-23 03:24:46 -0700
committerEmma Foley <efoley@redhat.com>2020-10-06 13:36:58 +0000
commit6402cb3470bf9e6e790b9afa4b5b61a79717d259 (patch)
tree99d78301fbd645024bdff7c0386d99083ff06a07
parenta97604548cbf079b1ee4b84aea38afd10d6a6cd3 (diff)
Enabling dpdk_telemetry plugin
Enabling dpdk_telemetry plugin with One Click Install. Added the config. templates and the related Documentation. Signed-off-by: Jabir Kanhira Kadavathu <jabir.kanhira.kadavathu@intel.com> Change-Id: Ibecd96d4102cd76a71d31613879ae57950f5108f
-rw-r--r--docker/ansible/roles/config_files/tasks/dpdk.yml7
-rw-r--r--docker/ansible/roles/config_files/templates/dpdk_telemetry.conf.j220
-rw-r--r--docs/release/userguide/feature.userguide.rst19
-rw-r--r--docs/release/userguide/installguide.oneclick.rst13
-rw-r--r--src/collectd/collectd_sample_configs/dpdk_telemetry.conf22
-rw-r--r--src/dpdk/Makefile1
6 files changed, 76 insertions, 6 deletions
diff --git a/docker/ansible/roles/config_files/tasks/dpdk.yml b/docker/ansible/roles/config_files/tasks/dpdk.yml
index 7809c56a..775e4837 100644
--- a/docker/ansible/roles/config_files/tasks/dpdk.yml
+++ b/docker/ansible/roles/config_files/tasks/dpdk.yml
@@ -26,3 +26,10 @@
dest: "{{ config_file_dir }}/dpdkevents.conf"
tags:
- dpdkevents
+
+- name: enable dpdk_telemetry plugin
+ template:
+ src: dpdk_telemetry.conf.j2
+ dest: "{{ config_file_dir }}/dpdk_telemetry.conf"
+ tags:
+ - dpdk_telemetry
diff --git a/docker/ansible/roles/config_files/templates/dpdk_telemetry.conf.j2 b/docker/ansible/roles/config_files/templates/dpdk_telemetry.conf.j2
new file mode 100644
index 00000000..d85a3dde
--- /dev/null
+++ b/docker/ansible/roles/config_files/templates/dpdk_telemetry.conf.j2
@@ -0,0 +1,20 @@
+#Copyright 2020 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LoadPlugin dpdk_telemetry
+
+<Plugin dpdk_telemetry>
+ ClientSocketPath "/var/run/.client"
+ DpdkSocketPath "/var/run/dpdk/rte/telemetry"
+</Plugin>
diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst
index 59bf0ea1..50d59cf5 100644
--- a/docs/release/userguide/feature.userguide.rst
+++ b/docs/release/userguide/feature.userguide.rst
@@ -26,6 +26,21 @@ Barometer has enabled the following collectd plugins:
* *dpdkevents plugin*: A read plugin that retrieves DPDK link status and DPDK
forwarding cores liveliness status (DPDK Keep Alive).
+* *dpdk_telemetry plugin*: A read plugin to collect dpdk interface stats and
+ application or global stats from dpdk telemetry library. Both 'dpdkstat' and
+ 'dpdk_telemetry' plugins provides dpdk NIC Stats, but only 'dpdk_telemetry'
+ provides the DPDK Application stats. So in other words, 'dpdk_telemetry' is
+ an advanced version of dpdkstat. This plugin don't deal with dpdk events.
+ So not in related with 'dpdkevents' plugin. The mimimum dpdk version required
+ to use this plugin is 19.08.
+
+.. note::
+ dpdpkstat and dpdk_telemetry should not be used together. Use dpdk_telemetry
+ if your version of dpdk supports it (i.e. DPDK >= 19.08) and use dpdkstat otherwise.
+ dpdkstat, dpdkevents and dpdk_telemetry plugins should only be used if your dpdk
+ application doesn't already have more relevant metrics available(e.g.ovs_stats).
+
+
* `gnocchi plugin`_: A write plugin that pushes the retrieved stats to
Gnocchi. It's capable of pushing any stats read through collectd to
Gnocchi, not just the DPDK stats.
@@ -304,6 +319,10 @@ http://dpdk.org/doc/guides/prog_guide/multi_proc_support.html
ports will not be present in standard IF-MIB. Thus, additional work is
required to be done to support DPDK ports and statistics.
+**DPDK telemetry plugin**
+
+Please refer https://wiki.opnfv.org/display/fastpath/DPDK+Telemetry+Plugin
+
Hugepages Plugin
^^^^^^^^^^^^^^^^^
Repo: https://github.com/collectd/collectd
diff --git a/docs/release/userguide/installguide.oneclick.rst b/docs/release/userguide/installguide.oneclick.rst
index 76a81db9..19ba48a1 100644
--- a/docs/release/userguide/installguide.oneclick.rst
+++ b/docs/release/userguide/installguide.oneclick.rst
@@ -302,18 +302,19 @@ List of default plugins for collectd container
3.Change the Makefile path from '(WORKDIR)/kernel/linux/kni/Makefile' to (WORKDIR)/lib/librte_eal/linuxapp/kni/Makefile in '(WORK_DIR)/src/dpdk/Makefile'.
By default the collectd is started with default configuration which includes
-the followin plugins:
+the following plugins:
* ``csv``, ``contextswitch``, ``cpu``, ``cpufreq``, ``df``, ``disk``,
``ethstat``, ``ipc``, ``irq``, ``load``, ``memory``, ``numa``,
``processes``, ``swap``, ``turbostat``, ``uuid``, ``uptime``, ``exec``,
``hugepages``, ``intel_pmu``, ``ipmi``, ``write_kafka``, ``logfile``,
``mcelog``, ``network``, ``intel_rdt``, ``rrdtool``, ``snmp_agent``,
``syslog``, ``virt``, ``ovs_stats``, ``ovs_events``, ``dpdkevents``,
- ``dpdkstat``
+ ``dpdkstat``, ``dpdk_telemetry``
-Some of the plugins are loaded depending on specific system requirements and can be omitted if
-dependency is not met, this is the case for:
- * ``hugepages``, ``ipmi``, ``mcelog``, ``intel_rdt``, ``virt``, ``ovs_stats``, ``ovs_events``
+.. note::
+ Some of the plugins are loaded depending on specific system requirements and can be omitted if
+ dependency is not met, this is the case for:
+ * ``hugepages``, ``ipmi``, ``mcelog``, ``intel_rdt``, ``virt``, ``ovs_stats``, ``ovs_events``
List and description of tags used in ansible scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -360,5 +361,5 @@ List of available tags:
``turbostat``, ``uptime``, ``exec``, ``hugepages``, ``ipmi``, ``kafka``,
``logfile``, ``mcelogs``, ``n``etwork``,`` ``pmu``, ``rdt``, ``rrdtool``,
``snmp``, ``syslog``, ``virt``, ``ovs_stats``, ``ovs_events``, ``uuid``,
- ``dpdkevents``, ``dpdkstat``.
+ ``dpdkevents``, ``dpdkstat``, ``dpdk_telemetry``.
diff --git a/src/collectd/collectd_sample_configs/dpdk_telemetry.conf b/src/collectd/collectd_sample_configs/dpdk_telemetry.conf
new file mode 100644
index 00000000..3bc0dd15
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/dpdk_telemetry.conf
@@ -0,0 +1,22 @@
+#Copyright 2020 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+<LoadPlugin dpdk_telemetry>
+ Interval 1
+</LoadPlugin>
+
+<Plugin dpdk_telemetry>
+ ClientSocketPath "/var/run/.client"
+ DpdkSocketPath "/var/run/dpdk/rte/telemetry"
+</Plugin>
diff --git a/src/dpdk/Makefile b/src/dpdk/Makefile
index f7efa3d1..44da38c9 100644
--- a/src/dpdk/Makefile
+++ b/src/dpdk/Makefile
@@ -22,6 +22,7 @@
# Martin Klozik, Intel Corporation.
# Christian Trautman, Red Hat Inc.
# Maryam Tahhan, Intel Corporation.
+# Jabir Kanhira Kadavathu, Intel Corporation.
include ../mk/master.mk
include ../package-list.mk