Whamcloud - gitweb
LU-12089 scripts: Fix style issues for system-profile.sh
[fs/lustre-release.git] / lustre / scripts / system-profile.sh
index 2914d4c..23d0de7 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#      System Profiling Script
+# System Profiling Script
 
 TESTS="oprofile iostat vmstat proc_dump"
 
@@ -16,82 +16,73 @@ NAL=socknal
 CTR0_COUNT=10000
 
 # for intel Petium 4 onwards... Also requires Unit Mask
-CTR0_EVENT=GLOBAL_POWER_EVENTS  
+CTR0_EVENT=GLOBAL_POWER_EVENTS
 CTR0_UNIT_MASK=0x01
 
 # Params for VMSTAT
-VM_SAMPLING=1 
+VM_SAMPLING=1
 
 # Params for IOSTAT
-IO_SAMPLING=1  
+IO_SAMPLING=1
 
 # Params for PROC DUMP
 export PROC_SAMPLING=2
 
-#-------------------------------------------------------------------
 oprofile_start() {
-       
-       echo `date +%T`": oprofile started...." >>  $OUTPUTDIR/$HOSTNAME/summary
-       op_start --ctr0-event=$CTR0_EVENT --ctr0-count=$CTR0_COUNT --ctr0-unit-mask=$CTR0_UNIT_MASK --vmlinux=${KERNELDIR}/vmlinux 
+       echo "$(date +%T): oprofile started...." >>  $OUTPUTDIR/$HOSTNAME/summary
+       op_start --ctr0-event=$CTR0_EVENT --ctr0-count=$CTR0_COUNT --ctr0-unit-mask=$CTR0_UNIT_MASK --vmlinux=${KERNELDIR}/vmlinux
        mkdir -p ${OUTPUTDIR}/${HOSTNAME}/oprofile/prof_source/{obdclass,obdecho,osc,ptlrpc,extN,obdfilter,ost,mdc,mds4mds,mds4mds_extN,llite,portals,$NAL}
        mkdir -p ${OUTPUTDIR}/${HOSTNAME}/oprofile/profiling
-
 }
 
 iostat_start() {
-       echo `date +%T`": iostat started...." >>  $OUTPUTDIR/$HOSTNAME/summary
-
+       echo "$(date +%T): iostat started...." >>  $OUTPUTDIR/$HOSTNAME/summary
        mkdir ${OUTPUTDIR}/${HOSTNAME}/iostat
-
        iostat $IO_SAMPLING > $OUTPUTDIR/$HOSTNAME/iostat/iostat.op &
-        PID=$!
-        echo $PID > $OUTPUTDIR/$HOSTNAME/tmp/iostat.pid
+       PID=$!
+       echo $PID > $OUTPUTDIR/$HOSTNAME/tmp/iostat.pid
 }
 
 vmstat_start() {
-
        echo $OUTPUTDIR;
-       echo `date +%T`": vmstat started...." >>  $OUTPUTDIR/$HOSTNAME/summary
-       
+       echo "$(date +%T): vmstat started...." >>  $OUTPUTDIR/$HOSTNAME/summary
        mkdir ${OUTPUTDIR}/${HOSTNAME}/vmstat
-
        vmstat $VM_SAMPLING > $OUTPUTDIR/$HOSTNAME/vmstat/vmstat.op &
-        PID=$!
-        echo $PID > $OUTPUTDIR/$HOSTNAME/tmp/vmstat.pid
+       PID=$!
+       echo $PID > $OUTPUTDIR/$HOSTNAME/tmp/vmstat.pid
 }
 
 proc_dump_start() {
-       echo `date +%T`": proc dump started...." >> $OUTPUTDIR/$HOSTNAME/summary
+       echo "$(date +%T): proc dump started...." >> $OUTPUTDIR/$HOSTNAME/summary
        sh -c '
                CTRFILE=/$OUTPUTDIR/$HOSTNAME/tmp/running.$$.pid;
-                echo $$ > ${CTRFILE};
-                while [ -f $CTRFILE ]; do
+               echo $$ > ${CTRFILE};
+               while [ -f $CTRFILE ]; do
                        cat /proc/meminfo >> $OUTPUTDIR/$HOSTNAME/meminfo;
                        cat /proc/interrupts >> $OUTPUTDIR/$HOSTNAME/interrupts;
                        cat /proc/net/dev >> $OUTPUTDIR/$HOSTNAME/net-dev;
-                        sleep ${PROC_SAMPLING};
-                done;
-                ' &
+                       sleep ${PROC_SAMPLING};
+               done;
+               ' &
        CTRFILE=/tmp/running.$!.pid
        echo "proc_dump_ctrl $CTRFILE" >> /tmp/prof-ctrl
-
 }
 
 oprofile_stop() {
        op_dump
-       op_stop 
+       op_stop
 
-       echo `date +%T`": oprofile stopped...." >>  $OUTPUTDIR/$HOSTNAME/summary
+       echo "$(date +%T): oprofile stopped...." >>  $OUTPUTDIR/$HOSTNAME/summary
 
        for i in obdclass obdecho osc ptlrpc extN obdfilter mds ost mdc llite
        do
                oprofpp -l ${LUSTREDIR}/${i}/${i}.o >  ${OUTPUTDIR}/${HOSTNAME}/oprofile/profiling/${i}.prof 2>/dev/null
        done
+
        oprofpp -l ${LUSTREDIR}/mds/mds_extN.o > ${OUTPUTDIR}/${HOSTNAME}/oprofile/profiling/mds_extN.prof 2>/dev/null
        oprofpp -l ${PORTALSDIR}/linux/oslib/portals.o > ${OUTPUTDIR}/${HOSTNAME}/oprofile/profiling/portals.prof 2>/dev/null
        oprofpp -l ${PORTALSDIR}/linux/${NAL}/k${NAL}.o > ${OUTPUTDIR}/${HOSTNAME}/oprofile/profiling/k${NAL}.prof 2>/dev/null
 
-                       
        for i in obdclass obdecho osc ptlrpc extN obdfilter ost mdc llite
        do
                op_to_source --source-dir=${LUSTREDIR}/${i}/ --output-dir=${OUTPUTDIR}/${HOSTNAME}/oprofile/prof_source/${i}/ ${LUSTREDIR}/${i}/${i}.o 2>/dev/null
@@ -99,26 +90,22 @@ oprofile_stop() {
 
        op_to_source --source-dir=${LUSTREDIR}/mds/ --output-dir=${OUTPUTDIR}/${HOSTNAME}/oprofile/prof_source/mds4mds/ ${LUSTREDIR}/mds/mds.o 2>/dev/null
        op_to_source --source-dir=${LUSTREDIR}/mds/ --output-dir=${OUTPUTDIR}/${HOSTNAME}/oprofile/prof_source/mds4mds_extN/  ${LUSTREDIR}/mds/mds_extN.o 2>/dev/null
-               
+
        op_to_source --source-dir=${PORTALSDIR}/linux/oslib/ --output-dir=${OUTPUTDIR}/${HOSTNAME}/oprofile/prof_source/portals ${PORTALSDIR}/linux/oslib/portals.o 2>/dev/null
        op_to_source --source-dir=${PORTALSDIR}/linux/${NAL}/ --output-dir=${OUTPUTDIR}/${HOSTNAME}/oprofile/prof_source/${NAL} ${PORTALSDIR}/linux/${NAL}/k${NAL}.o 2>/dev/null
-
        op_time -l > ${OUTPUTDIR}/${HOSTNAME}/oprofile/globalprofile 2>/dev/null
-
 }
 
 iostat_stop() {
-       echo `date +%T`": iostat stopped...." >>  $OUTPUTDIR/$HOSTNAME/summary
-       
+       echo "$(date +%T): iostat stopped...." >>  $OUTPUTDIR/$HOSTNAME/summary
        PID=$(cat $OUTPUTDIR/$HOSTNAME/tmp/iostat.pid)
-        kill $PID
+       kill $PID
 }
 
-vmstat_stop() { 
-       echo `date +%T`": vmstat stopped...." >>  $OUTPUTDIR/$HOSTNAME/summary
-       
+vmstat_stop() {
+       echo "$(date +%T): vmstat stopped...." >>  $OUTPUTDIR/$HOSTNAME/summary
        PID=$(cat $OUTPUTDIR/$HOSTNAME/tmp/vmstat.pid)
-        kill $PID
+       kill $PID
 }
 
 oprofile_dump() {
@@ -126,44 +113,40 @@ oprofile_dump() {
 }
 
 proc_dump_stop() {
-       echo `date +%T`": proc dump stopped...." >> $OUTPUTDIR/$HOSTNAME/summary
-       CTRFILE=`cat /tmp/prof-ctrl | awk '$1 == "prof_dump_ctrl" {print $2}'`
+       echo "$(date +%T): proc dump stopped...." >> $OUTPUTDIR/$HOSTNAME/summary
+       CTRFILE=$(cat /tmp/prof-ctrl | awk '$1 == "prof_dump_ctrl" {print $2}')
        rm -f $CTRFILE
 }
-#-------------------------------------------------------------------
-
-case "$1" in 
 
+case "$1" in
        start)
-
-               shift; 
-               while [ ${#*} -gt 1 ]; do 
-                       case "$1" in
-                               -k)
-                                               shift;
+               shift;
+               while [ ${#*} -gt 1 ]; do
+                       case "$1" in
+                               -k)
+                                       shift;
                                        KERNELDIR=$1;
                                        ;;
+                               -l)
+                                       shift;
+                                       LUSTREDIR=$1;
+                                       ;;
+                               -p)
+                                       shift;
+                                       PORTALSDIR=$1;
+                                       ;;
+                               -o)
+                                       shift;
+                                       OUTPUTDIR=$1;
+                                       ;;
+                               *)
+                                       echo unrecognized option $1
+                                       break;
+                                       ;;
+                       esac
+                       shift;
+               done
 
-                               -l)
-                                       shift;
-                                               LUSTREDIR=$1;
-                                       ;;
-                               -p)
-                                       shift;
-                                               PORTALSDIR=$1;
-                                       ;;
-
-                               -o)
-                                       shift;
-                                               OUTPUTDIR=$1;
-                                       ;;
-                                *)
-                                       echo unrecognized option $1
-                                       break;
-                                       ;;
-                       esac
-                       shift;
-               done
                echo "kerneldir $KERNELDIR" > /tmp/prof-ctrl
                echo -e "\nlustredir $LUSTREDIR" >> /tmp/prof-ctrl
                echo -e "\nportalsdir $PORTALSDIR" >> /tmp/prof-ctrl
@@ -184,34 +167,34 @@ case "$1" in
                echo -e "\n\nPCI Devices : "  >> ${OUTPUTDIR}/${HOSTNAME}/summary
                lspci -t -v  >> ${OUTPUTDIR}/${HOSTNAME}/summary
                echo -e "\n\nTests carried out " >> ${OUTPUTDIR}/${HOSTNAME}/summary
-       
                mkdir $OUTPUTDIR/$HOSTNAME/tmp
+
                for test in $TESTS; do
                        ${test}_start;
                done
        ;;
        stop)
-               
-               KERNELDIR=`cat /tmp/prof-ctrl | awk '$1 == "kerneldir" {print $2}'`
-               LUSTREDIR=`cat /tmp/prof-ctrl | awk '$1 == "lustredir" {print $2}'`
-               PORTALSDIR=`cat /tmp/prof-ctrl | awk '$1 == "portalsdir" {print $2}'`
-               OUTPUTDIR=`cat /tmp/prof-ctrl | awk '$1 == "outputdir" {print $2}'`
+               KERNELDIR=$(cat /tmp/prof-ctrl | awk '$1 == "kerneldir" {print $2}')
+               LUSTREDIR=$(cat /tmp/prof-ctrl | awk '$1 == "lustredir" {print $2}')
+               PORTALSDIR=$(cat /tmp/prof-ctrl | awk '$1 == "portalsdir" {print $2}')
+               OUTPUTDIR=$(cat /tmp/prof-ctrl | awk '$1 == "outputdir" {print $2}')
+
                for test in $TESTS; do
                        ${test}_stop;
                done
-               
-               rm -rf ${OUTPUTDIR}/$HOSTNAME/tmp       
+
+               rm -rf ${OUTPUTDIR}/$HOSTNAME/tmp
                tar -cf ${OUTPUTDIR}/${HOSTNAME}.tar  ${OUTPUTDIR}/${HOSTNAME}
                echo "Dumped results in ${OUTPUTDIR}/${HOSTNAME}.tar"
-       ;;      
+       ;;
        dump)
                if "oprofile" in $TESTS; then
                        oprofile_dump;
                fi
        ;;
-       clean)  
+       clean)
+               OUTPUTDIR=$(cat /tmp/prof-ctrl | awk '$1 == "outputdir" {print $2}')
 
-               OUTPUTDIR=`cat /tmp/prof-ctrl | awk '$1 == "outputdir" {print $2}'`
                echo Deleting directory $OUTPUTDIR/$HOSTNAME ...
                rm -rf $OUTPUTDIR/$HOSTNAME
                echo Deleting file $OUTPUTDIR/${HOSTNAME}.tar ...