python利用pyecharts分析nmon文件,转成汇总html报告
近期因工作安排,被投放做性能测试,本人也没有做过性能,只会用Jmeter的简单功能,由于原性能老手要离职,只有20天左右时间,日常需求边学边做。
在学过程中,要用到nmon这个东西,之前没有接触过,经简单快速百度了解,B站赶鸭式学基础,nmon文件是用【nmon_analyser_v69.xlsm】宏分析处理,但对于想用python自动执行宏,这个东西感觉还是比麻烦的,老手离开之前留下改造过【nmon_analyser_v69.xlsm】产物(N手前留下的),可以通过python调用,但每次调用都要先打开xlsm文件,还要在执行目录下打开。对于想用python自动一键执行监控nmon、执行Jmeter脚本、下载nmon分析不态方便,想试优化xlsm,看了一下vb写的,不会。找遍全网,好像大都是用xlsm来分析,有小部分提及到pyecharts,之后又重复百度、B站模式,经简单使用pyecharts,感觉还行,好多图标代码都可以直接复用,就是传数据就可以实现了,具体地址如下:https://pyecharts.org/#/zh-cn/、https://gallery.pyecharts.org/#/README
经过构思,想一个可以通过接口上送nmon文件后,等服务器进行转换成html分析汇总报告,压缩后返回,再也不用通过xlsm来转换,对于想自动化执行的,非常方便
一、首先解决pyecharts处理nmon的,经过多轮折腾,终于成功完成多表汇总成一个html汇总报告,主要用easyui来实现,每个图表生成html文件后,还要改html文件调用js的读取地址与加上表格的代码和数据,形成最终的文件。
在html最后一行增加数据表格与数据
修改html的python代码部份代码
生成汇总文件目录格式
二、处理接口,我这边是用python的flask来做的
@bp.route('/api/UploadFile', methods=['POST'])
def api_UploadFile():
try:
结果 ={}
# 获取上传文件信息
print(request.files)
f = request.files.get('file')
f.filename = f'xq.db'
print(f.filename)
# config.需求文件数据保存目录为自己的配置目录
f.save(os.path.join(config.需求文件数据保存目录, f.filename))
res=处理转换后压缩方法(1.nmon)
if res.code = '0000':
return send_file(res.path)
else:
return jsonify(res.RetMsg)
except Exception as err:
结果['RetMsg'] = err
结果['data'] = ''
return jsonify(结果)
三、如果相做离线版,做一个flask接口服务后,打包成功exe后,执行exe启动服务,本地就可以调用接口进行转换