在现场出现故障,需要统计每秒钟产生工单的数量,在每秒钟我需要统计successful字样,工单内容如下
使用linux命令如下:
cat ${file_name}|grep Callback |cut -c1-19|sort |uniq -c > test_1.txt
效果如下:
第一列是工单数量,第二列代表时间
然后将内容复制到excel表格里,就可以统计成相应的图表,一目了然
同时也可以使用groovy脚本
package test1
class test2 {
public static void main(String[] args){
def fileName = "D:/text"//需要统计的文件
def file = new File(fileName)
def resultFile = new File("${fileName}_maxOrdersInSecond.csv")
def counterMap = [:]
def index = 0
def goal ="xxxxx"//定义需要统计的某个字符
file.eachLine(){
index ++
if(it.indexOf(goal) == -1){
def time = it.split("\\|")[0]
def timeKey = it.split(" ")[0]+" "+it.split(" ")[1]
if(counterMap[timeKey]){
counterMap[timeKey] = counterMap[timeKey] + 1
} else {
counterMap[timeKey] = 1
}
}
}
counterMap.each(){key,val->
resultFile << "${key},${val}"
resultFile << "\r\n"
}
}
}
统计效果如下
这样就可以做成excel图表了
同时可以根据实际应用进行修改为每分钟,每小时等