python plotly处理接口性能测试数据方法封装(Violin图和折线图)

本人最近接到一个服务器性能测试需求,在做完测试准备执行完测试用例之后,在处理测试数据的时候使用的python图形化工具plotly,之前写过一些脚本都是实现教程的代码,借此机会正好进行了方法的封装。分享代码,供大家参考。

下面是python读取文件的类代码:

#!/usr/bin/python
# coding=utf-8

from second import Violin as vv


class Fission:
    z = []
    x = []

    def __init__(self):
        print "欢迎使用fission类!"

    def getData(self, name):
        size = 0;
        with open("/Users/Vicky/Documents/workspace/api_test/long/" + name + ".log") as apidata:
            for i in apidata:
                data = i.split("\r\n")[0]
                time = float(data)
                if time > 2: continue
                self.z.append(data)
                size += 1;
        length = size;
        for i in range(length):
            self.x.append(name + "线程")


if __name__ == "__main__":
    vvv = vv.Violin()
    fission = Fission()
    for i in range(10,23,1):
        aa = str((i + 1) * 10)
        fission.getData(aa)
    vvv.makeViolin(fission.z, fission.x, "接口性能测试", "110-230")
下面是生成voilin图标的方法封装:
#!/usr/bin/python
# coding=utf-8

import plotly.plotly
import pandas as pd
import plotly.figure_factory as ff


class Violin:
    def __init__(self):
        print "violin图表生成类!"

    def makeViolin(self, score, group, title, name):
        data = pd.DataFrame(dict(Score=score, Group=group))
        fig = ff.create_violin(data, data_header='Score', group_header='Group', height=700, width=1200, title=title)
        plotly.offline.plot(fig, filename=name + ".html")
下面是生成的图标的截图:

下面是QPS的图截图:

有兴趣的朋友可以加群交流:群号:340964272


猜你喜欢

转载自blog.csdn.net/Fhaohaizi/article/details/80536120