代码执行超过500毫秒统计

log4j.properties

log4j.logger.LogRequest=DEBUG,Request
log4j.additivity.LogRequest=false
log4j.appender.Request=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Request.Threshold=DEBUG
log4j.appender.Request.File=logs/request/request.log
log4j.appender.Request.DatePattern='.'yyyy-MM-dd
log4j.appender.Request.Append=true
log4j.appender.Request.Encoding=UTF-8
log4j.appender.Request.layout=org.apache.log4j.PatternLayout
log4j.appender.Request.layout.ConversionPattern=%m%n

 

代码

long start = System.currentTimeMillis();
            
Service service = Service.lookup(cmd,userId);
Response response = service.execute(request);
long use = System.currentTimeMillis() - start;
int len = response.getContent().toJSONString().getBytes().length;
//记录请求和响应信息
logRequest.info(System.currentTimeMillis()+"|"+use+"|"+len+"|"+cmd+"|"+userId+"|"+request.getContent()+"|"+response.getContent());

 

命令

cat request.log | awk -F \| '{if($3 >500)print $4}' | sort | uniq -c | sort -nr | ad_awk

ad_awk.sh

#!/bin/awk -f

BEGIN{
    i=0;
}

{
    total+=$1;
    na[i]=$1;
    all[i]=$0
    i++;
}

END{
    print "--------------------------------------"
    print "\ttotal:",total;
    printf("\t占比  \t-----\tnum Key\n")
    print "--------------------------------------"
    for(k=0;k<i;k++)
    {
        num=na[k];
        printf("\t%.2f%\t----- %s\n", num/total*100,all[k]);
    }
}

 

 

转载于:https://www.cnblogs.com/alter888/p/9270285.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值