1+ #! /bin/bash
2+ IFS_DEFAULT=" ${IFS} "
3+ #
4+ # ################################################################################
5+
6+
7+ while getopts " s::a:sj:uphvt:" OPTION; do
8+ case ${OPTION} in
9+
10+ j)
11+ JSON=1
12+ JSON_ATTR=(${OPTARG} )
13+ IFS=" ${IFS_DEFAULT} "
14+ ;;
15+
16+ esac
17+ done
18+
19+ # ################################################################################
20+
21+ output=" "
22+ rval=` cat /proc/diskstats`
23+ if [[ ${JSON} -eq 1 ]]; then
24+ echo ' {'
25+ echo ' "data":['
26+ count=1
27+ value=0
28+ while read line; do
29+ if [[ ${line} != ' ' ]]; then
30+ IFS=" |" values=(${line} )
31+
32+ if [[ $count == 1 ]]; then # for loop0 case
33+ new_value2=` echo ${values[0]} | sed -n ' /[0-9]/s/ \+/ /gp' `
34+ new_value3=` echo " $new_value2 " | cut -d " " -f 3`
35+ read_op=` echo " $new_value2 " | cut -d " " -f 4`
36+ read_sc=` echo " $new_value2 " | cut -d " " -f 6`
37+ write_op=` echo " $new_value2 " | cut -d " " -f 8`
38+ write_sc=` echo " $new_value2 " | cut -d " " -f 10`
39+ ticks=` echo " $new_value2 " | cut -d " " -f 13`
40+ else
41+ new_value2=` echo ${values[0]} | sed -n ' /[0-9]/s/ \+/ /gp' `
42+ new_value3=` echo " $new_value2 " | cut -d " " -f 4`
43+ read_op=` echo " $new_value2 " | cut -d " " -f 5`
44+ read_sc=` echo " $new_value2 " | cut -d " " -f 7`
45+ write_op=` echo " $new_value2 " | cut -d " " -f 9`
46+ write_sc=` echo " $new_value2 " | cut -d " " -f 11`
47+ ticks=` echo " $new_value2 " | cut -d " " -f 14`
48+ fi
49+ if [[ $new_value3 != * " loop" * ]] && [[ $new_value3 != * " ram" * ]] && [[ $new_value3 != * [0-9]* ]]; then
50+ if [[ ${output} != " " ]]; then
51+ echo " ${output} "
52+ fi
53+ value=$(( $read_op + $value ))
54+ output=' { '
55+ output+=' "' {# ${JSON_ATTR[0]}}'"'
56+ output+=' :'
57+ output+=' "' $new_value3 ' "'
58+ output+=' }'
59+ tmp=" ${output} "
60+ output=" ${output} ,"
61+ fi
62+ fi
63+ let " count=count+1"
64+ done <<< ${rval}
65+ echo " ${tmp} "
66+ echo ' ]'
67+ echo ' }'
68+ else
69+ echo " ${rval:- 0} "
70+ fi
71+
72+ exit ${rcode}
73+
0 commit comments