分析日志下载时间脚本

需求:

由于队列中feedback队列积压过多,查找到总线日志process_feedbacks_1.log有time out的下载错误,并且大量的衍生样本下载时间过长
目前需求:计算process_feedbacks_1.log日志中的每个衍生样本的下载时间
例如:
2014-12-22 10:29:58,073 __main__ DEBUG on_task_success, task_id = 15145129
2014-12-22 10:29:58,097 __main__ DEBUG receive AUTO success event, begin to redispatch PROC task
2014-12-22 10:29:58,097 __main__ DEBUG begin to process derivative file[filename = 92F69BD61E4AD511A664CAF7852018C5.D6336163]
2014-12-22 10:29:58,097 __main__ DEBUG AUTO_DERIVATIVE_TASK_FILETYPE: sample
2014-12-22 10:29:58,097 __main__ DEBUG in __download_derivative_file__(). output_file:/mnt/auto_derivative/92F69BD61E4AD511A664CAF7852018C5.D6336163
2014-12-22 10:30:02,388 __main__ DEBUG download ok, create file ok :%s/mnt/auto_derivative/92F69BD61E4AD511A664CAF7852018C5.D6336163
2014-12-22 10:30:02,414 __main__ DEBUG begin to process derivative file[filename = 83613B2FE6B780B3BBB08470171DBFD6.B16EDA9B]
2014-12-22 10:30:02,415 __main__ DEBUG AUTO_DERIVATIVE_TASK_FILETYPE: sample
2014-12-22 10:30:02,415 __main__ DEBUG in __download_derivative_file__(). output_file:/mnt/auto_derivative/83613B2FE6B780B3BBB08470171DBFD6.B16EDA9B
2014-12-22 10:30:03,806 __main__ DEBUG download ok, create file ok :%s/mnt/auto_derivative/83613B2FE6B780B3BBB08470171DBFD6.B16EDA9B

计算时间差
2014-12-22 10:29:58,097 __main__ DEBUG in __download_derivative_file__(). output_file:/mnt/auto_derivative/92F69BD61E4AD511A664CAF7852018C5.D6336163
2014-12-22 10:30:02,388 __main__ DEBUG download ok, create file ok :%s/mnt/auto_derivative/92F69BD61E4AD511A664CAF7852018C5.D6336163

2014-12-22 10:30:02,415 __main__ DEBUG in __download_derivative_file__(). output_file:/mnt/auto_derivative/83613B2FE6B780B3BBB08470171DBFD6.B16EDA9B
2014-12-22 10:30:03,806 __main__ DEBUG download ok, create file ok :%s/mnt/auto_derivative/83613B2FE6B780B3BBB08470171DBFD6.B16EDA9B

记录成time.txt文件,txt列表内容为
92F69BD61E4AD511A664CAF7852018C5.D6336163,时间间隔
83613B2FE6B780B3BBB08470171DBFD6.B16EDA9B,时间间隔

同时计算time.txt,时间差的平均值

脚本:

#!/usr/bin/env python

import datetime
import os,sys
import time

filename = sys.argv[1]
f = open(‘spend_time.txt‘,‘w‘)
f.write("md5,spend_time(s)\n")
def time_clac(date1):
date1_perfix,date1_suffix = date1.split(‘,‘)
sec=time.mktime(time.strptime(date1_perfix,‘%Y-%m-%d %H:%M:%S‘))
sec_1 = sec*1000
mis_sec = sec_1 + int(date1_suffix)
return mis_sec

for line in open(filename,‘r‘):
line = line.strip(‘\n‘)
if ‘in __download_derivative_file__()‘ in line :
start_time = line.split(‘__main__‘)[0]
start_time_1 = time_clac(start_time)
md5 = line[-32:]
continue
if ‘download ok‘ in line and md5 in line:
end_time = line.split(‘__main__‘)[0]
end_time_1 = time_clac(end_time)
spend_time = (end_time_1 - start_time_1) / 1000
print "%s,%s" %(md5,spend_time)
f.write("%s,%s\n"%(md5,spend_time))

f.close()

时间: 2024-10-19 02:33:59

分析日志下载时间脚本的相关文章

Oracle logmnr工具分析日志脚本

在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ##=========================================================== ## oracle_log_fetch.sh ## created by lottu ## 2016/08/07 ## usage: oracle_log_fetch.sh $

分析日志文件

在tomcat中安装logback插件,此插件用于生成日志.该日志中包括很多信息,我们的目的是将需要的数据进行整理,将其插入到MySQL数据库中,并将其做成定时任务执行. 一下是原日志文件内容: 我们需要client,uniquecode,device,versioncode,interface,createtime这些字段 思路如下: 1.我们只需要对包含接口和请求开始字段的行进行数据整理. grep "personal/checkupdate.json请求开始"   /home/l

分析DNS解析时间

提高网页的打开速度,一般地我们会选择使用CDN,利用“就近原则”让用户在最短的时间内获取到服务器资源,实际应用当中采用CDN的方式提高网站访问速度的效果也是最明显的.这也就是为什么国外的空间打开速度远不及国内的主机的访问速度的原因了. 我们知道在用户访问网站时先得经过域名DNS解析这一过程,可能很多人对于DNS解析时间平常并没有太在意.性能稳定.响应时间快的DNS域名 解析服务与不稳定.响应过慢的DNS的域名解析时间可能相差1秒,而对于网站存在过多的域名解析请求,这个时间积累起来就非常地多了.

学习练习程序:根据日期提取日志的python脚本。

#!/usr/bin/python #! *-* coding:utf-8 *-* #file:Analysis_logs.py #import os import string import re month={ '1':'Jan',         '2':'Feb',         '3':'Mar',         '4':'Apr',         '5':'May',         '6':'Jun',         '7':'Jul',         '8':'Aug'

5.查询截取分析(含百万测试数据脚本)

1.explain -----分析----测试中分析优化(初步) 观察,至少跑一天,看看生产的慢sql情 开启慢日志查询,设置阙值,比如超过5s的就为慢sql,并将他们抓取出来 explain + 慢sql分析 show profile -----至此初步的sql优化问题基本定位出来 .运维经理.DBA 进行sql数据库服务器的参数调优. 2.永远小表驱动大表 类似嵌套循环Nested Loop for (int i=5;...){ for (int j=1000;...){ } } ==>推荐

IIS 7 出现日志文件时间与服务器时间不符

最近在分析web日志,发现IIS7日志中时间与系统时间不一致,即本该上班时间才产生 的产并发访问日志,全部发生在凌晨至上班前. 本以为是系统时间设置错误,检查后一切正常.后查询资料,原来是这个原因: 日志的格式有IIS.NCSA.W3C三种: 1.IIS是固定的基于 ASCII 文本的格式,无法自定义记录的字段,字段由逗号分隔, 记录的时间为本地时间文件名前缀为u_in. 2.NCSA是美国国家超级计算技术应用中心 (NCSA) 公用日志文件格式,也是固定的基 于 ASCII 文本的格式,无法自

自动发送密码抓取远程日志用Shell脚本如何实现?

在linux系统中,如何用shell脚本抓取远程日志?分析线上的日志会有一个困境,机器太多,如果每台都登录上去看不太现实,但是下载下来更麻烦因为每台SCP都要求输入密码.于是我便写了一个自动抓取远程日志的脚本,实现在基本功能. 代码: #!/usr/bin/expect -f if { $argc !=1 && $argc !=2 } {send_user "没有输入远程日志文件名.\n"send_user "格式是:get.sh ${remote_log}

Loadrunner上传文件与下载文件脚本

Loadrunner上传与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRandName", "LB=\"sourceImgPath\":\"upload\\/cropzoomimg\\/", "RB=\"}", LAST); uploadImgStatus

LoadRunner中如何验证下载的文件大小、统计下载时间、度量下载速度

LoadRunner中的web_get_in_property函数可用于返回上一个HTTP请求的相关信息,包括HTTP请求返回码.下载大小.下载时间等: The web_get_int_property function returns specific information about the previous HTTP request. The meaning of the return value depends on the HttpInfoType argument. HttpInf