该脚本的应用场景是数据分析,一般作线上日志分析的人员需要观察线上数据的变化,如:1.访问数据库的响应大于1000毫秒的sql2.apache cookielog响应大于多少毫秒的数据
数据格式:
[html] - 2010-12-14 00:01:26,427 FATAL FUNCTION_TIME - wmmad.alloffer.get 15511ms
- 2010-12-14 00:01:33,164 FATAL FUNCTION_TIME - wmmad.alloffer.get 14213ms
- 2010-12-14 00:02:31,021 FATAL FUNCTION_TIME - wmmad.alloffer.get 14126ms
- 2010-12-14 00:05:08,160 FATAL FUNCTION_TIME - wmmad.alloffer.get 15295ms
- 2010-12-14 00:24:00,372 ERROR FUNCTION_TIME - wmmad.offer.repost 406ms
脚本:
[plain] - #/bin/bash
-
- # author: madding.lip
- # date 2010.12.14
- # 统计超n毫秒的数据量
-
- ERROR_USAGE=1
-
- if [ $# != 2 ]; then
- echo "Usage: $0 file times";
- exit $ERROR_USAGE
- fi
-
- myfile=$1
- mytime=$2
-
-
- all=0
- count=0;
-
- data=`cat $myfile | awk "{print $7}" | sed "s/ms//g"`;
-
- for i in $data ;
- do
- all=$(( $all + 1 ));
- if test $(( $mytime < $i )) -eq 1 ;then
- # echo $i; sleep 1;
- count=$(( $count + 1 ));
- fi
- done;
-
- echo "response time over ${mytime}ms: "$count" times"
- echo "all count: "$all" times"
具体根据数据格式作调整即可。