[commtech] Detect if perf supports -o switch

Use script in the case where perf doesn't support -o switch (old perf
version)
This commit is contained in:
Thomas Preud'homme 2012-07-07 23:43:30 +02:00
parent 619fb7aeba
commit a578c33577
1 changed files with 22 additions and 6 deletions

View File

@ -24,7 +24,13 @@ logFileName="\$perfDirName/cache_\$typeCache-nbNodes_\$nbNodes-typeProd_\$typePr
expDirName="logs"
perfDirName="$expDirName/perfCommMulti-`date +'%F-%Hh%Mm%S'`"
perfOpt="$perfOpt -o $logFileName.perf"
perf --help stat | grep -- " -o"
perfOutput=$?
if [ $perfOutput -eq 0 ]
then
perfOpt="$perfOpt -o $logFileName.perf"
fi
export LD_LIBRARY_PATH
@ -54,14 +60,24 @@ function_run () {
esac
make $binDir/$bin
cmdLineRun="eval perf $perfOpt $binDir/$bin $optTypeCache $optTypeProd $optNbNodes -n $nbIter"
if [ $perfOutput -eq 0 ]
then
cmdLineRun="eval perf $perfOpt $binDir/$bin $optTypeCache $optTypeProd $optNbNodes -n $nbIter"
else
cmdLineRun="eval script -c \"perf $perfOpt $binDir/$bin $optTypeCache $optTypeProd $optNbNodes -n $nbIter\" $logFileName"
fi
echo "On lance : \"$cmdLineRun\""
beginingDate=`date +%s`
( $cmdLineRun 2>&1 || echo "echec experience" ) | eval tee $logFileName
logFileNameVal="$(eval echo $logFileName)"
cat $logFileNameVal.perf >> $logFileNameVal
rm $logFileNameVal.perf
if [ $perfOutput -eq 0 ]
then
( $cmdLineRun 2>&1 || echo "echec experience" ) | eval tee $logFileName
logFileNameVal="$(eval echo $logFileName)"
cat $logFileNameVal.perf >> $logFileNameVal
rm $logFileNameVal.perf
else
( $cmdLineRun 2>&1 || echo "echec experience" )
fi
endDate=`date +%s`
duration_sec=`expr \( $endDate - $beginingDate \) % 60`
duration_min=`expr \( $endDate - $beginingDate \) / 60`