前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Python+plotly制作接口请求时间的violin图表

利用Python+plotly制作接口请求时间的violin图表

作者头像
FunTester
发布2019-09-18 10:47:58
5750
发布2019-09-18 10:47:58
举报
文章被收录于专栏:FunTester

本人在做接口测试的过程中,每次请求接口时都会自己计算一个请求时间存在数据库里,时间一长积累了很多数据,在学习Python+plotly进行数据可视化后,终于对接口请求时间这个数据进行了处理,制作了violin图表,效果还不错。分享一下代码,供大家参考。

下面是我自己的测试方法:

代码语言:javascript
复制
#!/usr/bin/python
# coding=utf-8

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

if __name__ == "__main__":
    a = second.mysql.Mysql()
    b = a.getApiTimes('/article/list/userfeed', '/article/detail', '/article/info', '/advertise/api/list', '/common/menu')
    df = pd.DataFrame(dict(Score=b[0], Group=b[1]))  # 合并数据
    fig = ff.create_violin(df, data_header='Score', group_header='Group',
        height=700, width=1200,title='接口请求时间')
    plotly.offline.plot(fig)

下面是mysql里面的getapitimes()方法:

代码语言:javascript
复制
    def getApiTimes(self, *params):
        num = str(params.__len__())
        print "接口数:" + num
        conn = self.conn
        # 获取链接
        cur = conn.cursor()
        data = []
        size = []
        for api in params:
            cur.execute("SELECT * FROM api_result WHERE api_name = \"" + api + "\"")
            dfs = cur.fetchall()
            # 排除异常数据
            for row in dfs:
                if row[7] < 1:
                    data.append(row[7])
                    size.append(api)
        cur.close()
        conn.commit()
        conn.close()
        return [data, size]

下面是几个接口的效果图:

这下再去看接口请求的响应时间,简直太直接了。用来做PPT和报告再好不过了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档