Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion build/rpm/pcp.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -1674,6 +1674,20 @@ This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting statistics for nVidia RDMA over Converged Ethernet (RoCE) devices.
# end pcp-pmda-rocestat

#
# pcp-pmda-rds
#
%package pmda-rds
License: GPL-2.0-or-later
Summary: Performance Co-Pilot (PCP) metrics for Reliable Datagram Sockets (RDS) protocol
URL: https://pcp.io
Requires: pcp = @package_version@ pcp-libs = @package_version@
Requires: python3-pcp
%description pmda-rds
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting statistics for RDS connections
# end pcp-pmda-rds

#
# pcp-pmda-openvswitch
#
Expand Down Expand Up @@ -2376,6 +2390,7 @@ basic_manifest | keep '(etc/pcp|pmdas)/podman(/|$)' >pcp-pmda-podman-files
basic_manifest | keep '(etc/pcp|pmdas)/postfix(/|$)' >pcp-pmda-postfix-files
basic_manifest | keep '(etc/pcp|pmdas)/postgresql(/|$)' >pcp-pmda-postgresql-files
basic_manifest | keep '(etc/pcp|pmdas)/rabbitmq(/|$)' >pcp-pmda-rabbitmq-files
basic_manifest | keep '(etc/pcp|pmdas)/rds(/|$)' >pcp-pmda-rds-files
basic_manifest | keep '(etc/pcp|pmdas)/redis(/|$)' >pcp-pmda-redis-files
basic_manifest | keep '(etc/pcp|pmdas)/resctrl(/|$)|sys-fs-resctrl' >pcp-pmda-resctrl-files
basic_manifest | keep '(etc/pcp|pmdas)/rocestat(/|$)' >pcp-pmda-rocestat-files
Expand Down Expand Up @@ -2415,7 +2430,7 @@ for pmda_package in \
nutcracker nvidia \
openmetrics opentelemetry openvswitch oracle \
pdns perfevent podman postfix postgresql \
rabbitmq redis resctrl rocestat roomtemp rsyslog \
rabbitmq rds redis resctrl rocestat roomtemp rsyslog \
samba sendmail shping slurm smart snmp \
sockets statsd summary systemd \
unbound uwsgi \
Expand Down Expand Up @@ -2856,6 +2871,9 @@ done
%preun pmda-rocestat
%{pmda_remove "$1" "rocestat"}

%preun pmda-rds
%{pmda_remove "$1" "rds"}

%preun pmda-uwsgi
%{pmda_remove "$1" "uwsgi"}
%endif
Expand Down Expand Up @@ -3184,6 +3202,8 @@ fi

%files pmda-rocestat -f pcp-pmda-rocestat-files.rpm

%files pmda-rds -f pcp-pmda-rds-files.rpm

%files pmda-uwsgi -f pcp-pmda-uwsgi-files.rpm

%files export-pcp2graphite -f pcp-export-pcp2graphite-files.rpm
Expand Down
23 changes: 22 additions & 1 deletion build/rpm/redhat.spec
Original file line number Diff line number Diff line change
Expand Up @@ -1781,6 +1781,21 @@ collecting statistics for nVidia RDMA over Converged Ethernet (RoCE) devices.
# end pcp-pmda-rocestat
%endif

#
# pcp-pmda-rds
#
%package pmda-rds
License: GPL-2.0-or-later
Summary: Performance Co-Pilot (PCP) metrics for Reliable Datagram Sockets (RDS) protocol
URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp
%description pmda-rds
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
collecting statistics for RDS connections.
# end pcp-pmda-rds
%endif

%if !%{disable_mongodb}
#
# pcp-pmda-mongodb
Expand Down Expand Up @@ -2516,6 +2531,7 @@ basic_manifest | keep '(etc/pcp|pmdas)/podman(/|$)' >pcp-pmda-podman-files
basic_manifest | keep '(etc/pcp|pmdas)/postfix(/|$)' >pcp-pmda-postfix-files
basic_manifest | keep '(etc/pcp|pmdas)/postgresql(/|$)' >pcp-pmda-postgresql-files
basic_manifest | keep '(etc/pcp|pmdas)/rabbitmq(/|$)' >pcp-pmda-rabbitmq-files
basic_manifest | keep '(etc/pcp|pmdas)/rds(/|$)' >pcp-pmda-rds-files
basic_manifest | keep '(etc/pcp|pmdas)/redis(/|$)' >pcp-pmda-redis-files
basic_manifest | keep '(etc/pcp|pmdas)/resctrl(/|$)|sys-fs-resctrl' >pcp-pmda-resctrl-files
basic_manifest | keep '(etc/pcp|pmdas)/rocestat(/|$)' >pcp-pmda-rocestat-files
Expand Down Expand Up @@ -2556,7 +2572,7 @@ for pmda_package in \
nutcracker nvidia \
openmetrics opentelemetry openvswitch oracle \
pdns perfevent podman postfix postgresql \
rabbitmq redis resctrl rocestat roomtemp rpm rsyslog \
rabbitmq rds redis resctrl rocestat roomtemp rpm rsyslog \
samba sendmail shping slurm smart snmp \
sockets statsd summary systemd \
unbound uwsgi \
Expand Down Expand Up @@ -2949,6 +2965,9 @@ exit 0
%preun pmda-rocestat
%{pmda_remove "$1" "rocestat"}

%preun pmda-rds
%{pmda_remove "$1" "rds"}

%endif

%preun pmda-apache
Expand Down Expand Up @@ -3304,6 +3323,8 @@ fi

%files pmda-rocestat -f pcp-pmda-rocestat-files.rpm

%files pmda-rds -f pcp-pmda-rds-files.rpm

%files pmda-uwsgi -f pcp-pmda-uwsgi-files.rpm

%files export-pcp2graphite -f pcp-export-pcp2graphite-files.rpm
Expand Down
78 changes: 78 additions & 0 deletions qa/1998
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#!/bin/sh
# PCP QA Test No. 1998
# Testing PCP RDS PMDA - install, remove and values.
#
# Copyright (c) 2025 Oracle and/or its affiliates.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#

seq=`basename $0`
echo "QA output created by $seq"

. ./common.python

pmda_path="$PCP_PMDAS_DIR/rds"
pmda_script="$pmda_path/pmdards.python"
test_script="rds/rds_test.python"

[ -d $pmda_path ] || _notrun "RDS PMDA is not installed"

$python -c "from pcp import pmda" >/dev/null 2>&1
[ $? -eq 0 ] || _notrun "python pcp pmda module not installed"

status=1 # failure is the default!
trap "_cleanup_pmda rds; exit \$status" 0 1 2 3 15

pmdards_filter()
{
sed \
-e "s/Ran [0-9]* tests in [0-9]*\.[0-9][0-9]*s/Ran X tests in YYYs/" \
-e "s/FAILED (failures=[0-9]*)/FAILED (failures=X)/" \
-e "/^$/d"
}

pmdards_remove()
{
cd $pmda_path
echo
echo "=== Removing RDS agent ==="
$sudo ./Remove >$tmp.out 2>&1
}

pmdards_install()
{
cd $pmda_path
$sudo ./Remove >/dev/null 2>&1

echo
echo "=== Installing RDS agent ==="
$sudo ./Install </dev/null >$tmp.out 2>&1
cd $here
}

# Real QA test starts here
_prepare_pmda rds

pmdards_install

echo "=== Report metric values ==="

metrics=`pminfo rds | LC_COLLATE=POSIX sort`

pminfo -dfmtT $metrics 2>&1

pmdards_remove

# Success, all done
status=0
exit
Loading
Loading