diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/collectd/Makefile | 192 | ||||
-rwxr-xr-x | src/collectd/collectd_apply_pull_request.sh | 50 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs-experimental/README | 1 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs-latest/dpdkevents.conf | 35 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs-latest/dpdkstat.conf | 23 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs/dpdkevents.conf | 35 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs/dpdkstat.conf | 24 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs/intel_pmu.conf | 11 | ||||
-rw-r--r-- | src/package-list.mk | 24 |
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)" |