* *mcelog plugin*: A read plugin that uses mcelog client protocol to check for
memory Machine Check Exceptions and sends the stats for reported exceptions
-* *RDT plugin*: A read plugin that provides the last level cache utilitzation and
+* *RDT plugin*: A read plugin that provides the last level cache utilization and
memory bandwidth utilization
All the plugins above are available on the collectd master, except for the
them as shown in the examples below.
The collectd plugins in OPNFV are configured with reasonable defaults, but can
- be overriden.
+ be overridden.
Building all Barometer upstreamed plugins from scratch
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
you will need to specify the specific paths to the header files and libraries
using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK
library symbols to the shared library path using ldconfig. Note that this
- update to the shared library path is not persistant (i.e. it will not survive a
+ update to the shared library path is not persistent (i.e. it will not survive a
reboot).
DPDK events plugin
.. code:: bash
- $ git clone https://github.com/maryamtahhan/collectd.git
+ $ git clone https://github.com/collectd/collectd.git
$ cd collectd
$ ./build.sh
$ ./configure --enable-syslog --enable-logfile --enable-debug
you will need to specify the specific paths to the header files and libraries
using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK
library symbols to the shared library path using ldconfig. Note that this
- update to the shared library path is not persistant (i.e. it will not survive a
+ update to the shared library path is not persistent (i.e. it will not survive a
reboot).
.. code:: bash
--- /dev/null
+# Copyright 2017 OPNFV
+#
+# 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 dpdkevents>
+ Interval 1
+</LoadPlugin>
+
+<Plugin "dpdkevents">
+ <EAL>
+# Coremask "0x1"
+# MemoryChannels "4"
+# FilePrefix "rte"
+ </EAL>
+ <Event "link_status">
+ SendEventsOnUpdate false
+ EnabledPortMask 0xffff
+ SendNotification true
+ </Event>
+ <Event "keep_alive">
+ SendEventsOnUpdate false
+ LCoreMask "0xf"
+ KeepAliveShmName "/dpdk_keepalive_shm_name"
+ SendNotification true
+ </Event>
+</Plugin>
force_make: $(TAG_DONE_FLAG)
$(AT)cd $(WORK_DIR) && git pull $(DPDK_URL) $(DPDK_TAG)
$(AT)sed -i -e 's/CONFIG_RTE_BUILD_SHARED_LIB=./CONFIG_RTE_BUILD_SHARED_LIB=y/g' $(CONFIG_FILE_LINUXAPP)
+ $(AT)sed -i -e 's/CONFIG_RTE_EAL_PMD_PATH=.*/CONFIG_RTE_EAL_PMD_PATH=\"\/usr\/lib\/dpdk-pmd\/\"/g' $(CONFIG_FILE_LINUXAPP)
$(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_LINUXAPP)
$(AT)cd $(WORK_DIR); make config T=$(DPDK_TARGET) -j; make -j
$(AT)cd `dirname $(CONFIG_FILE_LINUXAPP)` && git checkout `basename $(CONFIG_FILE_LINUXAPP)` && cd -
install: $(INSTALL_TARGET)
$(AT)cd $(WORK_DIR); sudo make -j install prefix=/usr; cd -
+ $(AT)sudo mkdir -p /usr/lib/dpdk-pmd
+ $(AT)find /usr/lib -type f -name 'librte_pmd*' | while read path; do sudo ln -fs $$path /usr/lib/dpdk-pmd/$$(echo $$path | grep -o 'librte_.*so'); done
$(AT)sudo cp -a $(WORK_DIR)/build/kmod $(INSTALL_DIR)/lib/modules/$(KERNEL_VERSION)
@echo "install done"