背景:
临时需要统计当前系统中一些操作的平均耗时,该指标没有收集的性能监控中,日志中记录操作时间。
方法:
通过shell过滤日志,通过awk提取指定字段,最后统计总数耗时与总数,得出平均值。这里没有统计最大值和最小值,只是通过获取平均值衡量当前系统的处理性能。
cat app.log |grep "op1 time" | awk '{print $10}' > nei.txt
cat nei.txt |awk '{sum+=$1} END {print sum}'
cat nei.txt |wc
直接使用 ,计算总和,共计多少行,平均值是多少
awk '{sum+=$1} END {print "Sum: " sum, "\nCount: " NR, "\nAverage: " sum/NR}'nei.txt
解释:
cat app.log |grep “,op1 time” 过滤当前日志中需要的日志,例如这里实例统计的op1 的日志。
awk ‘{print $11}’ 过滤后的内容打印出需要字段。 可以尝试调账其中$11
cat nei.txt |awk ‘{sum+=$1} END {print sum}’ 将文件中内容每行相加
cat nei.txt |wc 统计有多少行,
此时可以算出平局值了。
截图