aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/collectd/Makefile192
-rwxr-xr-xsrc/collectd/collectd_apply_pull_request.sh50
-rw-r--r--src/collectd/collectd_sample_configs-experimental/README1
-rw-r--r--src/collectd/collectd_sample_configs-latest/dpdkevents.conf35
-rw-r--r--src/collectd/collectd_sample_configs-latest/dpdkstat.conf23
-rw-r--r--src/collectd/collectd_sample_configs/dpdkevents.conf35
-rw-r--r--src/collectd/collectd_sample_configs/dpdkstat.conf24
-rw-r--r--src/collectd/collectd_sample_configs/intel_pmu.conf11
-rw-r--r--src/package-list.mk24
9 files changed, 264 insertions, 131 deletions
diff --git a/src/collectd/Makefile b/src/collectd/Makefile
index 7eb312da..785614d5 100644
--- a/src/collectd/Makefile
+++ b/src/collectd/Makefile
@@ -1,7 +1,8 @@
# makefile to manage collectd package
#
-# Copyright 2016-2019 Intel Corporation and OPNFV. All rights reserved.
+# Copyright 2016-2021 Intel Corporation, Anuket and others.
+# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,17 +16,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-
#
# Contributors:
# Aihua Li, Huawei Technologies.
# Maryam Tahhan, Intel Corporation.
+# Emma Foley, Red Hat.
include ../mk/master.mk
include ../package-list.mk
WORK_DIR = collectd
-TAG_DONE_FLAG = $(WORK_DIR)/.$(COLLECTD_TAG).done
+# $COLLECTD_TAG can contain "/", which is being replaced with "-" here
+TAG_DONE_FLAG := $(WORK_DIR)/.$(subst /,-,$(COLLECTD_TAG)).done
BUILD_CMD = ./build.sh
CONFIG_CMD =
CONFIG_CMD += ./configure
@@ -40,6 +42,183 @@ ifeq ($(XDG_CACHE_HOME_DIR),)
XDG_CACHE_HOME_DIR = $(shell echo $$HOME)
endif
+ifeq ($(COLLECTD_FLAVOR),collectd-6)
+CONFIG_CMD += --enable-cpu
+CONFIG_CMD += --enable-interface
+CONFIG_CMD += --enable-memory
+CONFIG_CMD += --enable-ping
+CONFIG_CMD += --enable-uptime
+
+CONFIG_CMD += --disable-aggregation
+CONFIG_CMD += --disable-amqp
+CONFIG_CMD += --disable-amqp1
+#CONFIG_CMD += --disable-apache
+#CONFIG_CMD += --disable-apcups
+#CONFIG_CMD += --disable-apple_sensors
+#CONFIG_CMD += --disable-aquaero
+CONFIG_CMD += --disable-barometer
+#CONFIG_CMD += --disable-battery
+#CONFIG_CMD += --disable-bind
+#CONFIG_CMD += --disable-buddyinfo
+#CONFIG_CMD += --disable-capabilities
+#CONFIG_CMD += --disable-ceph
+#CONFIG_CMD += --disable-cgroups
+#CONFIG_CMD += --disable-chrony
+CONFIG_CMD += --disable-check_uptime
+#CONFIG_CMD += --disable-connectivity
+#CONFIG_CMD += --disable-conntrack
+#CONFIG_CMD += --disable-contextswitch
+#CONFIG_CMD += --disable-cpufreq
+#CONFIG_CMD += --disable-cpusleep
+CONFIG_CMD += --disable-csv
+#CONFIG_CMD += --disable-curl
+#CONFIG_CMD += --disable-curl_json
+CONFIG_CMD += --disable-curl_xml
+#CONFIG_CMD += --disable-dbi
+#CONFIG_CMD += --disable-dcpmm
+#CONFIG_CMD += --disable-df
+#CONFIG_CMD += --disable-disk
+#CONFIG_CMD += --disable-dns
+#CONFIG_CMD += --disable-dpdkevents
+#CONFIG_CMD += --disable-dpdkstat
+#CONFIG_CMD += --disable-dpdk_telemetry
+#CONFIG_CMD += --disable-drbd
+#CONFIG_CMD += --disable-email
+#CONFIG_CMD += --disable-entropy
+#CONFIG_CMD += --disable-ethstat
+#CONFIG_CMD += --disable-exec
+#CONFIG_CMD += --disable-fhcount
+#CONFIG_CMD += --disable-filecount
+#CONFIG_CMD += --disable-fscache
+CONFIG_CMD += --disable-gmond
+#CONFIG_CMD += --disable-gps
+#CONFIG_CMD += --disable-gpu_nvidia
+CONFIG_CMD += --disable-grpc
+#CONFIG_CMD += --disable-hddtemp
+#CONFIG_CMD += --disable-hugepages
+#CONFIG_CMD += --disable-infiniband
+#CONFIG_CMD += --disable-intel_pmu
+#CONFIG_CMD += --disable-intel_rdt
+#CONFIG_CMD += --disable-ipc
+#CONFIG_CMD += --disable-ipmi
+#CONFIG_CMD += --disable-iptables
+#CONFIG_CMD += --disable-ipstats
+#CONFIG_CMD += --disable-ipvs
+#CONFIG_CMD += --disable-irq
+CONFIG_CMD += --disable-java
+#CONFIG_CMD += --disable-load
+#CONFIG_CMD += --disable-log_logstash
+#CONFIG_CMD += --disable-logfile
+#CONFIG_CMD += --disable-logparser
+#CONFIG_CMD += --disable-lpar
+CONFIG_CMD += --disable-lua
+#CONFIG_CMD += --disable-madwifi
+CONFIG_CMD += --disable-match_empty_counter
+CONFIG_CMD += --disable-match_hashed
+CONFIG_CMD += --disable-match_regex
+CONFIG_CMD += --disable-match_timediff
+CONFIG_CMD += --disable-match_value
+#CONFIG_CMD += --disable-mbmon
+#CONFIG_CMD += --disable-mcelog
+#CONFIG_CMD += --disable-md
+#CONFIG_CMD += --disable-mdevents
+#CONFIG_CMD += --disable-memcachec
+#CONFIG_CMD += --disable-memcached
+#CONFIG_CMD += --disable-mic
+CONFIG_CMD += --disable-modbus
+CONFIG_CMD += --disable-mqtt
+#CONFIG_CMD += --disable-multimeter
+#CONFIG_CMD += --disable-mysql
+#CONFIG_CMD += --disable-netapp
+#CONFIG_CMD += --disable-netlink
+#CONFIG_CMD += --disable-netstat_udp
+CONFIG_CMD += --disable-network
+#CONFIG_CMD += --disable-nfs
+#CONFIG_CMD += --disable-nginx
+#CONFIG_CMD += --disable-notify_desktop
+#CONFIG_CMD += --disable-notify_email
+#CONFIG_CMD += --disable-notify_nagios
+#CONFIG_CMD += --disable-ntpd
+#CONFIG_CMD += --disable-numa
+#CONFIG_CMD += --disable-nut
+#CONFIG_CMD += --disable-olsrd
+#CONFIG_CMD += --disable-onewire
+CONFIG_CMD += --disable-openldap
+#CONFIG_CMD += --disable-openvpn
+#CONFIG_CMD += --disable-oracle
+#CONFIG_CMD += --disable-ovs_events
+#CONFIG_CMD += --disable-ovs_stats
+#CONFIG_CMD += --disable-pcie_errors
+CONFIG_CMD += --disable-perl
+#CONFIG_CMD += --disable-pf
+#CONFIG_CMD += --disable-pinba
+CONFIG_CMD += --disable-postgresql
+#CONFIG_CMD += --disable-powerdns
+#CONFIG_CMD += --disable-processes
+#CONFIG_CMD += --disable-procevent
+#CONFIG_CMD += --disable-protocols
+CONFIG_CMD += --disable-python
+#CONFIG_CMD += --disable-redfish
+CONFIG_CMD += --disable-redis
+#CONFIG_CMD += --disable-routeros
+CONFIG_CMD += --disable-rrdcached
+CONFIG_CMD += --disable-rrdtool
+#CONFIG_CMD += --disable-sensors
+#CONFIG_CMD += --disable-serial
+#CONFIG_CMD += --disable-sigrok
+#CONFIG_CMD += --disable-slurm
+#CONFIG_CMD += --disable-smart
+CONFIG_CMD += --disable-snmp
+CONFIG_CMD += --disable-snmp_agent
+CONFIG_CMD += --disable-statsd
+#CONFIG_CMD += --disable-swap
+#CONFIG_CMD += --disable-synproxy
+#CONFIG_CMD += --disable-sysevent
+#CONFIG_CMD += --disable-syslog
+#CONFIG_CMD += --disable-table
+#CONFIG_CMD += --disable-tail
+#CONFIG_CMD += --disable-tail_csv
+#CONFIG_CMD += --disable-tape
+CONFIG_CMD += --disable-target_notification
+CONFIG_CMD += --disable-target_replace
+CONFIG_CMD += --disable-target_scale
+CONFIG_CMD += --disable-target_set
+CONFIG_CMD += --disable-target_v5upgrade
+#CONFIG_CMD += --disable-tcpconns
+#CONFIG_CMD += --disable-teamspeak2
+#CONFIG_CMD += --disable-ted
+#CONFIG_CMD += --disable-thermal
+CONFIG_CMD += --disable-threshold
+#CONFIG_CMD += --disable-tokyotyrant
+#CONFIG_CMD += --disable-turbostat
+#CONFIG_CMD += --disable-ubi
+#CONFIG_CMD += --disable-unixsock
+#CONFIG_CMD += --disable-users
+#CONFIG_CMD += --disable-uuid
+#CONFIG_CMD += --disable-varnish
+#CONFIG_CMD += --disable-virt
+#CONFIG_CMD += --disable-vmem
+#CONFIG_CMD += --disable-vserver
+#CONFIG_CMD += --disable-wireless
+CONFIG_CMD += --disable-write_graphite
+#CONFIG_CMD += --disable-write_http
+CONFIG_CMD += --disable-write_influxdb_udp
+CONFIG_CMD += --disable-write_kafka
+#CONFIG_CMD += --disable-write_log
+CONFIG_CMD += --disable-write_mongodb
+CONFIG_CMD += --disable-write_prometheus
+CONFIG_CMD += --disable-write_redis
+CONFIG_CMD += --disable-write_riemann
+CONFIG_CMD += --disable-write_sensu
+#CONFIG_CMD += --disable-write_stackdriver
+CONFIG_CMD += --disable-write_syslog
+CONFIG_CMD += --disable-write_tsdb
+#CONFIG_CMD += --disable-xencpu
+#CONFIG_CMD += --disable-zfs_arc
+#CONFIG_CMD += --disable-zone
+#CONFIG_CMD += --disable-zookeeper
+CONFIG_CMD += --enable-debug
+else
CONFIG_CMD += --enable-syslog
CONFIG_CMD += --enable-logfile
CONFIG_CMD += --with-libpqos=$(LIBPQOS_DIR)
@@ -52,10 +231,14 @@ CONFIG_CMD += --enable-write_redis
CONFIG_CMD += --disable-perl
CONFIG_CMD += --with-librdkafka=/usr
CONFIG_CMD += --disable-lvm
+endif
+
ifdef WITH_DPDK
CONFIG_CMD += LIBDPDK_CFLAGS='-mssse3'
endif
+CONFIG_CMD += $(COLLECTD_CONFIG_CMD_ARGS)
+
.PHONY: install force_install config force_make
# install depends on make
@@ -65,6 +248,7 @@ all: force_make
@echo "Finished making $(WORK_DIR)"
config $(WORK_DIR)/Makefile: $(WORK_DIR)/configure
+ @echo "Configuring with: " $(CONFIG_CMD)
$(AT)cd $(WORK_DIR); $(CONFIG_CMD)
@echo "Configure done"
@@ -121,7 +305,7 @@ $(WORK_DIR):
$(TAG_DONE_FLAG): $(WORK_DIR)
@echo "Checking out collectd from tag: $(COLLECTD_TAG)"
- $(AT)cd collectd; git checkout $(COLLECTD_TAG)
+ $(AT)cd collectd; git fetch origin $(COLLECTD_TAG); git checkout FETCH_HEAD
ifneq ($(PATCH_FILE),)
$(AT)cd $(WORK_DIR); patch -p1 < ../$(PATCH_FILE)
endif
diff --git a/src/collectd/collectd_apply_pull_request.sh b/src/collectd/collectd_apply_pull_request.sh
new file mode 100755
index 00000000..403d78dd
--- /dev/null
+++ b/src/collectd/collectd_apply_pull_request.sh
@@ -0,0 +1,50 @@
+#! /bin/bash
+# Copyright 2019-2021 Intel Corporation, Anuket and others.
+# All rights reserved.
+#
+# 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.
+#
+
+# This files contains list of pull requests to be applied on top
+# of main branch before building collectd included in docker
+# collectd-experimental container
+
+# Use this script with a COLLECTD_PULL_REQUESTS variable defined
+# for example:
+# COLLECTD_PULL_REQUESTS="3027,3028" ./collectd_apply_pull_request.sh
+
+if [ -z "$COLLECTD_PULL_REQUESTS" ];
+then
+ echo "COLLECTD_PULL_REQUESTS is unset, exiting"
+ exit
+fi
+
+IFS=', ' read -a PULL_REQUESTS <<< "$COLLECTD_PULL_REQUESTS"
+
+# during rebasing/merging git requires email & name to be set
+git config user.email "barometer-experimental@container"
+git config user.name "BarometerExperimental"
+
+# If there's a single PR listed, just check it out
+if [ "${#PULL_REQUESTS[@]}" -eq "1" ];
+then
+ echo "Checking out pull request $COLLECTD_PULL_REQUESTS"
+ git fetch origin pull/$COLLECTD_PULL_REQUESTS/head && git checkout FETCH_HEAD
+else
+# if there are multiple PRs, rebase them on top of the checked out branch
+ for PR_ID in "${PULL_REQUESTS[@]}"
+ do
+ echo "Applying pull request $PR_ID"
+ git pull --rebase origin pull/$PR_ID/head
+ done
+fi
diff --git a/src/collectd/collectd_sample_configs-experimental/README b/src/collectd/collectd_sample_configs-experimental/README
new file mode 100644
index 00000000..e4386358
--- /dev/null
+++ b/src/collectd/collectd_sample_configs-experimental/README
@@ -0,0 +1 @@
+Place here configuration files that are required by experimental pull requests
diff --git a/src/collectd/collectd_sample_configs-latest/dpdkevents.conf b/src/collectd/collectd_sample_configs-latest/dpdkevents.conf
deleted file mode 100644
index fdb6f3db..00000000
--- a/src/collectd/collectd_sample_configs-latest/dpdkevents.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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>
diff --git a/src/collectd/collectd_sample_configs-latest/dpdkstat.conf b/src/collectd/collectd_sample_configs-latest/dpdkstat.conf
deleted file mode 100644
index 59906d4e..00000000
--- a/src/collectd/collectd_sample_configs-latest/dpdkstat.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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 dpdkstat
-
-<Plugin dpdkstat>
-# Coremask "0xf"
-# ProcessType "secondary"
-# FilePrefix "rte"
- EnabledPortMask 0xffff
-# PortName "interface1"
-# PortName "interface2"
-</Plugin>
diff --git a/src/collectd/collectd_sample_configs/dpdkevents.conf b/src/collectd/collectd_sample_configs/dpdkevents.conf
deleted file mode 100644
index fdb6f3db..00000000
--- a/src/collectd/collectd_sample_configs/dpdkevents.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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>
diff --git a/src/collectd/collectd_sample_configs/dpdkstat.conf b/src/collectd/collectd_sample_configs/dpdkstat.conf
deleted file mode 100644
index 919e6e6e..00000000
--- a/src/collectd/collectd_sample_configs/dpdkstat.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-# 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 dpdkstat
-
-<Plugin dpdkstat>
-# Coremask "0xf"
-# ProcessType "secondary"
-# FilePrefix "rte"
- EnabledPortMask 0xffff
-# PortName "interface1"
-# PortName "interface2"
-</Plugin>
-
diff --git a/src/collectd/collectd_sample_configs/intel_pmu.conf b/src/collectd/collectd_sample_configs/intel_pmu.conf
index 959fb8a1..c4beee0c 100644
--- a/src/collectd/collectd_sample_configs/intel_pmu.conf
+++ b/src/collectd/collectd_sample_configs/intel_pmu.conf
@@ -1,4 +1,4 @@
-# Copyright 2017 OPNFV
+# Copyright 2017-21 Anuket and others
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -11,13 +11,16 @@
# 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 intel_pmu
+
+<LoadPlugin intel_pmu>
+ Interval 1
+</LoadPlugin>
<Plugin intel_pmu>
ReportHardwareCacheEvents true
ReportKernelPMUEvents true
ReportSoftwareEvents true
-# EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json"
+# EventList "$HOME/.cache/pmu-events/GenuineIntel-6-2D-core.json"
# HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD"
- Cores "[0-4]"
+ Cores ""
</Plugin>
diff --git a/src/package-list.mk b/src/package-list.mk
index 59e9a0a2..b27cd575 100644
--- a/src/package-list.mk
+++ b/src/package-list.mk
@@ -20,23 +20,35 @@ KAFKA_TAG ?= v1.5.2
# collectd section
COLLECTD_URL ?= https://github.com/collectd/collectd
-# there are 3 collectd flavors:
+# there are 4 collectd flavors:
# -"stable" - based on stable collectd release
# -"latest" - development version, based on main branch
# -"experimental" - it is based on main branch as above and includes
# set pull requests with experimental features
+# -"collectd-6" - based on the collectd 6.0 branch
ifeq ($(COLLECTD_FLAVOR), stable)
-# using latest stable release
+# using the most recent stable release
COLLECTD_TAG ?= collectd-5.12
SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs
-else
-# 'latest' and 'experimental' collectd flavors are both using
-# code from main branch
+endif
+ifeq ($(COLLECTD_FLAVOR), latest)
+# collectd code from main branch
COLLECTD_TAG ?= main
SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-latest
+endif
ifeq ($(COLLECTD_FLAVOR), experimental)
# 'experimental' flavor is using additional Pull Requests that
# are put on top of main release
+ COLLECTD_TAG ?= main
+ SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-latest
COLLECTD_USE_EXPERIMENTAL_PR ?= y
endif #end of experimental-branch handling
-endif
+ifeq ($(COLLECTD_FLAVOR), collectd-6)
+# 'collectd-6' flavor is using collectd-6.0 branch
+ COLLECTD_TAG ?= collectd-6.0
+ SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-latest
+ COLLECTD_USE_EXPERIMENTAL_PR ?= y
+endif #end of collectd-6.0-branch handling
+
+@echo "Using COLLECTD_TAG: $(COLLECTD_TAG)"
+@echo "Using SAMPLE_CONF_VARIANT_NAME: $(SAMPLE_CONF_VARIANT_NAME)"