【性能看板】Octopus- 腾讯自研性能看板解决方案

渊源

笔者在腾讯工作时,曾参与自动化测试平台 UTP 的研发,由于 UTP 使用了 内部自研项目 Octopus(八爪鱼)平台作为整个 UTP 性能测试结果报表的解决方案,因此笔者对于 Octopus 的使用还算熟悉。

由于该项目由他人维护,因此细节方面本人肯定不甚了了,且时隔多日该项目是否有新的进展也不甚清楚。但由于这里讨论的是性能看板的问题,作为接入方的我对 Octopus 在这方面的使用以及基本运作机制还算熟悉。

Octopus

整体方案

首先,Octopus 平台不是一个专门的性能看板项目,而是一个通用意义上的自动化测试平台,不过其在性能看板上给出了一种的解决方案,有效的解决了当时的性能测试数据展示问题。

数据协议

客户端通过XML向 Octopus 后台服务发送类似如下的性能数据:

<report>
    <project>
        /*... preoject info ...*/
    </project>
    <test>
        /*... test info for selected version ...*/
    </test>
    <data>
        <summary>
            /*... summary info ...*/
        </summary>
        <item>
            <type>histogram</type>
            /*... data info for first item ...*/
        </item>
        <item>
            <type>pie</type>
            /*... data info for second item ...*/
        </item>
        <item>
            <type>line</type>
            /*... data info for third item ...*/
        </item>
        ...
    </data>
</report>

其中最核心的字段就是

字段名字段类型字段含义
datastring性能数据
itemobject可有多个,具体的一项性能数据
typestring性能数据的类型(持续扩展),不同的 type 类型对具体数据的格式有一定要求

前端展示

Octopus 主要借助类似 highcharts 的三方图表库来进行数据可视化:

在这里插入图片描述

在处理上,Octopus 会依次渲染每一个 item 的性能数据,根据 item 的具体 type 定义选择约定好的三方图标库进行数据可视化展示

Octopus 性能看板的优缺点分析

优点

  • 可扩展性极强,理论上没有啥效果是不支持的

缺点

  • 可维护性差,每次要增删改某类数据的可视化展示策略都需要重新写前端并改协议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值