Enabling dpdk_telemetry plugin 86/71186/6
authorJabir Kanhira Kadavathu <jabir.kanhira.kadavathu@intel.com>
Wed, 23 Sep 2020 10:24:46 +0000 (03:24 -0700)
committerEmma Foley <efoley@redhat.com>
Tue, 6 Oct 2020 13:36:58 +0000 (13:36 +0000)
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

docker/ansible/roles/config_files/tasks/dpdk.yml
docker/ansible/roles/config_files/templates/dpdk_telemetry.conf.j2 [new file with mode: 0644]
docs/release/userguide/feature.userguide.rst
docs/release/userguide/installguide.oneclick.rst
src/collectd/collectd_sample_configs/dpdk_telemetry.conf [new file with mode: 0644]
src/dpdk/Makefile

index 7809c56..775e483 100644 (file)
     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 (file)
index 0000000..d85a3dd
--- /dev/null
@@ -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>
index 59bf0ea..50d59cf 100644 (file)
@@ -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
index 76a81db..19ba48a 100644 (file)
@@ -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 (file)
index 0000000..3bc0dd1
--- /dev/null
@@ -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>
index f7efa3d..44da38c 100644 (file)
@@ -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