腾讯WeTest 发表于 2020-10-20 12:07:14

从零开始玩转PerfDogService---------初探篇

一.PerfDogService简介PerfDogService也就是 PerfDog的SDK,拥有了这个东西我们就可以结合自己的实际需要,DIY出一些符合自己的需求的产品。先来看看PerfDogService可以做什么
http://p9-tt-ipv6.byteimg.com/large/pgc-image/eab3194c3be54bca9f9b91a88097e0ff

1.性能数据web展示,可以结合自己的中台或者技术中心做可视化的数据展示
2.根据自己的需求自定义一些工具
3.构建本地的性能监控系统(IOS,Android双端都可以)
4.结合自己的自动化脚本做自动化性能测试或者开发云测平台二.申请使用目前想获取PerfDogService的使用权需要到官网申,
1.申请令牌:令牌申请地址
http://p6-tt-ipv6.byteimg.com/large/pgc-image/a66ed5659af04eeab040ba4dd91d6dc6


所谓令牌就是一个资格,具体申请步骤可以移步: PerfDogService令牌申请手册
等申请审通过后就可以返回官方去下载SDK啦三.PerfDogService的工作流程http://p1-tt-ipv6.byteimg.com/large/pgc-image/d3f8b901f3a3426ca4d98a0cf1bd44b7

1.调用启动PerfDogService的可执行程序
2.登录Token
3.开启device的监控
4.初始化device
5.获取device的APP列表
6.开启测试
7.设置测试过程中的标签或者添加节点
9.停止测试
10.停止PerfDogService四.文件组成http://p26-tt.byteimg.com/large/pgc-image/0e8847d164f14e318768ab33c1fec55d


文件说明:PerfDogService.exe: Service启动文件,一般不用手工启动,自动化脚本会自动启动此程序。
perfdog.proto: grpc接口和protobuf结构体的定义文件
demo/python: python3的demo,依赖库grpcio和protobuf
demo/java: java的demo,依赖库grpc-netty-shaded, grpc-protobuf, grpc-stub
PerfDogService.jar: 服务所依赖的jar包五.运行Demo1.首先打开demo文件,安装需要的第三方module,我这里使用pycharm打开,所以我选择安装在demo的虚拟环境,你也可以不使用虚拟环境,直接通过本地的控制台pip install xxxx 安装相应的module。一般可以选择国内源下载速度会快一些 -i https://pypi.tuna.tsinghua.edu.cn/simple
例如:
http://p1-tt-ipv6.byteimg.com/large/pgc-image/0e72c77d1be44b34a9d0be34fb36b072


http://p26-tt.byteimg.com/large/pgc-image/d50e249112a74137add6eee1200a95df


依赖的module有:grpcio
protobuf2.安装完依赖后修改demo的信息
http://p9-tt-ipv6.byteimg.com/large/pgc-image/8983a927a9f042b787ce46784a15aa19


令牌可以在这里找到查看令牌信息
3.运行demo
如果报这个错误
http://p6-tt-ipv6.byteimg.com/large/pgc-image/143b385fcd8f459ca6cea7e714a0f0db


那么在盘符前加一个r代表不转译就可以了
http://p1-tt-ipv6.byteimg.com/large/pgc-image/a9b618f2efc940a495679dc78c647c75


1)运行起来后是这样的输出
http://p6-tt-ipv6.byteimg.com/large/pgc-image/9dbd35b315fd4332b0bf891903463120

http://p6-tt-ipv6.byteimg.com/large/pgc-image/1cedb8556ea14eaead5c063c997fba02


2)输入要测试的app序号后回车,例如我选择了:125;
回车后就会开始源源不断产生数据,demo只会获取20s的性能数据
http://p3-tt-ipv6.byteimg.com/large/pgc-image/5a24f9dccd264b9f8404de5082af4a35


http://p6-tt-ipv6.byteimg.com/large/pgc-image/16f64f392c9649af88e094fac31b5ff9


http://p6-tt-ipv6.byteimg.com/large/pgc-image/22bbbdf275ac42009e6e6811f5a21222


3)20s的数据获取后自动上传到云空间,并且也会在你的本地生成一份数据(本地保存的文件数据是会被覆盖的)
http://p1-tt-ipv6.byteimg.com/large/pgc-image/33c5af6745bb4a82b902e190b5eb1948


http://p3-tt-ipv6.byteimg.com/large/pgc-image/579ea74f010b4894989b942476c4e618

4)需要注意的是,云空间是有限的http://p6-tt-ipv6.byteimg.com/large/pgc-image/19a9d934be4a474d879c9699118476fa


5)demo默认采集数据包括:1.FPS,Frame Time2.CPU usage ,CPU Usage(Normalized),CpuTemperature3.MemoryUsage4.Gpu5.NetworkUsage12345实际上就是PerfDog默认搜集的那些数据指标
http://p9-tt-ipv6.byteimg.com/large/pgc-image/98c776b811b4492095635384fff9225b


6)如果想要新增采集的数据指标,比如CPU Core Usage,可以在开启采集数据时新增一个选项,
例如:
http://p1-tt-ipv6.byteimg.com/large/pgc-image/79e1b9b813a44a27a3f34e7511455f3e


这样就可采集到CPU Core Usage的使用情况了,数据也会写入Json和Xls中。
http://p6-tt-ipv6.byteimg.com/large/pgc-image/4984d4043439431093fda827253af870



页: [1]
查看完整版本: 从零开始玩转PerfDogService---------初探篇