sysbench scripts (14)

     衔接上文,以下是analyze文件夹下的脚本。

    14、analyze_sysbench_performance_args.sh脚本

#! /bin/sh

###########################################################
# Copyright (c) 2012, Heng.Wang. All rights reserved.
#
# This program is used to analyze the sysbench test report
# and get the performance value of per second (transactions,
# deadlocks, read/write requests and other operations).
###########################################################

# set -x

# Get the key value of input arguments format like '--args=value'.
get_key_value()
{
    echo "$1" | sed 's/^--[a-zA-Z_-]*=//'     
}

# Usage will be helpful when you need to input the valid arguments.
usage()
{
cat <<EOF
Usage: $0 [configure-options]
  -?, --help                       Show this help message.
  --input=<>                       Set the input file path.
  --outputdir=<>                   Set the output directory.  

Note: this script is intended for internal use by developers.

EOF
}

# Print the default value of the arguments of the script.
print_default()
{
cat <<EOF
  The default value of the variables:
  input             $INPUT
  outputdir         $OUTPUTDIR

EOF
}

# Parse the input arguments and get the value of the input argument.
parse_options()
{
  while test $# -gt 0
  do
    case "$1" in    
    --input=*)
      INPUT=`get_key_value "$1"`;;
    --outputdir=*)
      OUTPUTDIR=`get_key_value "$1"`;;
    -? | --help)
      usage
      print_default
      exit 0;;
    *)
      echo "Unknown option '$1'"
      exit 1;;
    esac
    shift
  done
}



#################################################################
INPUT=""
OUTPUTDIR=/opt/result

parse_options "$@"

if [ -z $INPUT ]
then
  echo "Please give the input file address!"
  exit -1
fi

if [ -f $INPUT ]
then
  [[ -d $OUTPUTDIR ]] || mkdir -p $OUTPUTDIR
  
  dir1=`dirname $INPUT`
  dir2=`dirname $dir1`
      
  cat $INPUT | awk ' BEGIN { ts=0 ; dl=0; rwq=0; oo=0; } /transactions/ \
  { ts=$3 }  /deadlocks/ {  dl=$3 } /read\/write requests/ { rwq=$4 } /other operations/ \
  { oo=$4; print substr(ts,2),substr(dl,2),substr(rwq,2),substr(oo,2) }' \
  >> $OUTPUTDIR/sysbench_perform_per_second_${dir2##*/}.result 
else
  echo "The input file is not exist!"
  echo "Please be double check the input file!"
  exit -1
fi


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值