Re: [PATCH] liburing: add script for statistics sqpoll running time.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux