259ef6348b
- On some hosts the wget can finish too soon and PAPI doesn't catch even a single network event. - On some hosts, there are multiple default NICs and the scripts didn't work in that case. - The test script was writing the output of wget to /tmp directory, which causes a problem if another user tries to run the same test. Because the output file with the same name already exists in the same directory, but with a different owner, the test fails --------- Co-authored-by: David Galiffi <David.Galiffi@amd.com>
35 rader
1.1 KiB
Bash
Executable File
35 rader
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Copyright (c) Advanced Micro Devices, Inc.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
# This script gets a list of default NICs from ip command
|
|
# and generates a list of PAPI events, 4 for each NIC.
|
|
# and generates a list of PAPI events; 4 for each NIC.
|
|
# For example, if the NIC is enp7s0, the PAPI events are:
|
|
# net:::enp7s0:tx:byte net:::enp7s0:rx:byte net:::enp7s0:tx:packet net:::enp7s0:rx:packet
|
|
|
|
# Get the directory where this script is located
|
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
if [ ! -x "$script_dir/get_default_nic.sh" ]; then
|
|
echo "Error: helper script get_default_nic.sh not found or not executable in $script_dir" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Call the `get_default_nic.sh`` script to get the list of default NICs
|
|
# and store it in the nic_list variable
|
|
nic_list="$("$script_dir/get_default_nic.sh")"
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error: failed to get default NICs" >&2
|
|
exit 1
|
|
fi
|
|
|
|
events=()
|
|
|
|
for nic in $nic_list; do
|
|
events+=("net:::${nic}:tx:byte" "net:::${nic}:rx:byte" "net:::${nic}:tx:packet" "net:::${nic}:rx:packet")
|
|
done
|
|
|
|
event_list="${events[*]}"
|
|
echo $event_list
|