diff options
author | thiagoftsm <thiagoftsm@gmail.com> | 2023-07-12 16:49:48 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-12 16:49:48 +0000 |
commit | 929b19f485b7100d8caa322abb0987afd01b3883 (patch) | |
tree | 578e1a52e1f09b109e5bf775c86fac9f84fc1e76 /tests/ebpf/ebpf_thread_function.sh.in | |
parent | 83272d4903522d4a10535e96f4e3b7f869653137 (diff) |
eBPF Functions (enable/disable threads) (#15214)
Diffstat (limited to 'tests/ebpf/ebpf_thread_function.sh.in')
-rw-r--r-- | tests/ebpf/ebpf_thread_function.sh.in | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/ebpf/ebpf_thread_function.sh.in b/tests/ebpf/ebpf_thread_function.sh.in new file mode 100644 index 0000000000..dd1e7b6ee0 --- /dev/null +++ b/tests/ebpf/ebpf_thread_function.sh.in @@ -0,0 +1,52 @@ +#!/bin/bash + +netdata_ebpf_test_functions() { + echo "QUERYING: ${1}" + curl -k -o /tmp/ebpf_netdata_test_functions.txt "${1}" + TEST=$? + if [ $TEST -ne 0 ]; then + echo "Cannot request run a for ${1}. See '/tmp/ebpf_netdata_test_functions.txt' for more details." + exit 1 + fi + + grep "${2}" /tmp/ebpf_netdata_test_functions.txt >/dev/null + TEST=$? + if [ $TEST -ne 0 ]; then + echo "Cannot find ${2} in the output. See '/tmp/ebpf_netdata_test_functions.txt' for more details.." + exit 1 + fi + + rm /tmp/ebpf_netdata_test_functions.txt +} + +MURL="http://127.0.0.1:19999" +INTERVAL=60 + +if [ -n "$1" ]; then + MURL="$1" +fi + +# Check function loaded +netdata_ebpf_test_functions "${MURL}/api/v1/functions" "ebpf_thread" + +# Check function help +netdata_ebpf_test_functions "${MURL}/api/v1/function?function=ebpf_thread%20help" "allows user to control eBPF threads" + +#Test default request +netdata_ebpf_test_functions "${MURL}/api/v1/function?function=ebpf_thread" "columns" + +#Test thread requests . The mdflush is not enabled, because it is not present in all distributions by default. +#Socket is not in the list, because it will have a complete refactory with next PR +for THREAD in "cachestat" "dc" "disk" "fd" "filesystem" "hardirq" "mount" "oomkill" "process" "shm" "softirq" "sync" "swap" "vfs" ; +do + echo "TESTING ${THREAD}" + netdata_ebpf_test_functions "${MURL}/api/v1/function?function=ebpf_thread%20enable:${THREAD}:${INTERVAL}%20thread:${THREAD}" + sleep 17 + netdata_ebpf_test_functions "${MURL}/api/v1/function?function=ebpf_thread%20thread:${THREAD}" "running" + sleep 17 + netdata_ebpf_test_functions "${MURL}/api/v1/function?function=ebpf_thread%20disable:${THREAD}" + sleep 6 + netdata_ebpf_test_functions "${MURL}/api/v1/function?function=ebpf_thread%20thread:${THREAD}" "stopped" + sleep 6 +done + |