On 2/6/24 10:40 AM, Xiaobing Li wrote: >diff --git a/test/sqtimeshow.sh b/test/sqtimeshow.sh >new file mode 100644 >index 0000000..e85fd2f >--- /dev/null >+++ b/test/sqtimeshow.sh >@@ -0,0 +1,61 @@ >+#!/usr/bin/env bash >+ >+UPLINE=$(tput cuu1) >+ >+function set_header() { >+ printf "\033[47;30m%-15s %-15s %-15s %-15s \033[0m\n" PID WorkTime\(us\) TotalTime\(us\) COMMAND >+} >+ >+function get_time() { >+ pid=$1 >+ item=$2 >+ proc_file="/proc/$pid/fdinfo/6" >+ if [ ! -e $proc_file ]; then >+ return >+ fi >+ content=$(cat ${proc_file} | grep ${item} | awk -F" " '{print $2}') >+ echo ${content%us} >+} >+ >+function show_util() { >+ index=0 >+ while true >+ do >+ data=$(top -H -b -n 1 | grep iou-sqp) >+ if [ -z "${data}" ]; then >+ echo "no sq thread is running." >+ exit >+ fi >+ index=0 >+ num=$(echo $data | tr -cd R |wc -c) >+ arr=($data) >+ len=$((${#arr[@]} / ${num})) >+ i=0 >+ while [ ${i} -lt ${num} ] >+ do >+ pid=${arr[${i} * ${len}]} >+ name=${arr[${i} * ${len} + len - 1]} >+ work_time=$(get_time $pid "SqWorkTime") >+ total_time=$(get_time $pid "SqTotalTime") >+ printf "%-15s %-15s %-15s %-15s\n" ${pid} ${work_time} ${total_time} ${name} >+ ((i++)) >+ done >+ sleep 2 >+ update=$UPLINE >+ for j in $(seq 1 ${num}); do >+ update=$update$UPLINE >+ done >+ if [ ! -z "$(top -H -b -n 1 | grep iou-sqp)" ]; then >+ echo "$update" >+ fi >+ done >+} >+ >+function main() { >+ # set header >+ set_header >+ # show util >+ show_util >+} >+ >+main Hi, Jens and Pavel This patch is to add a script that displays the statistics of the sqpoll thread to the terminal. -- Xiaobing Li