#!/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
