一、Emmagee介绍

Emmagee是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。
该工具的优势在于如同windows系统性能监视器类似,它提供的是数据采集的功能,而行为则基于用户真实的应用操作
支持SDK:Android2.2以及以上版本

二、为什么使用Emmagee?
1开源
2、使用方便,无需root权限
3、可以监控单个应用性能
4、浮窗显示实时展示数据
5、CSV格式保存性能数据,方便转换为其它格式
6、用户自定义采集性能数据频率
7、支持2.2以及以上版本

三、Emmagee详细功能介绍

1、检测当前时间被测应用占用的CPU使用率以及总体CPU使用量

2、检测当前时间被测应用占用的内存量,以及占用的总体内存百分比,剩余内存量

3、检测应用从启动开始到当前时间消耗的流量数

4、测试数据写入到CSV文件中,同时存储在手机中

5、可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息

6、在浮窗中可以快速启动或者关闭手机的wifi网络

四、Emmagee如何使用

1、安装Emmagee应用

apk下载地址:https://github.com/NetEase/Emmagee/releases

2、启动Emmagee,右上角设置采集频率,列表中会默认加载手机安装的所有应用

3、选择你需要测试的应用,点击“开始测试”,被测应用会被启动

4、开始你的功能测试吧,测试过程中会自动记录相关性能参数

5、(重要)测试完成后回到Emmagee界面,点击“结束测试”,测试结果会保存在手机指定目录的CSV文件中

生成的CSV文件内容见图:

6、将csv数据拷贝到excel中(或另存为excel文件)生成图表,使用自带的统计图标功能生成统计图,即可清晰看到整个操作过程中cpu、内存等关键数据的变化。

生成统计图步骤:

1)将“时间”列去掉日期,仅保留时分秒;

2)将不需要的列隐藏,保留需要分析的列;

3)生成图表;

以下为某个项目的app生成的图表:


数据性能指标:
  • 应用占用内存PSS(MB):应用当前占内存的大小;
  • 应用占用内存比(%):应有占总内存的百分比;
  • 机器剩余内存(MB):机器当前剩余内存;
  • 应用占用CPU率(%):应用占用总CPU的百分比;
  • CPU总使用率(%):CPU的总使用率,包括当前应有,和系统的所有运行的应有;
  • CPU0-CPU3是因为手机是多核的(4核显示cpu0-cpu3,10核显示到cpu0-cpu9)
  • 流量(KB):从检测开始共耗用的流量;
  • 电量(%):剩余电池的百分比,包括其他应用的,这个是有误差的,所以测试期间尽可能关闭其他软件,或者期间别操作其他的应用,避免带来误差;
  • 电流(mA):小于0是放电大于0是充电;
  • 温度(C):手机当前的温度;
  • 电压(V):未知;
  • 帧率:不确定是两次取数之间的平均帧率还是取数据的瞬间帧率。


五、设置

1、采集数据可以在Emmagee右上角设置中设置采集频率,默认为5;

2、邮件配置:


六、常见问题及解决方案

1.以下不受支持的设备意味着某些性能数据将在监控时显示“null”或“N/A”;

Unsupported Performance Data
Devices
Known Issues
CPU,Current Xiaomi MI 1,MI 2 CPU usage occasionally is higher than 600% when using "top" command
Current Samgsung Galaxy Nexus、HuaWei Honor 4C These devices do not include the electric current values in battery drivers
Start time Xiaomi MI 2, 
acer v360
These devices do not contain the ActivityManager's Displayed message from the logcat

2.excel在打开CSV文件时可能会出现乱码的情况

因为excel打开CSV默认使用ANSI编码,如果手机上保存的CSV是utf-8或其他编码,就会出现乱码,这里使用一下特别的转码技巧,

先在类似“Emmagee_TestResult_(时间).csv”上右键单击,用“记事本”打开,然后点击“文件—另存为”,在编码那里选择“ANSI”,保存,然后用excel打开即可解决乱码的问题。

emmagee工具怎么玩转app压力测试监控相关推荐

  1. Android App压力测试

    前言:写这篇文章的目的,一是因为不少同学作为Android开发,很少会自己去做压力测试,不了解相关的技术,不知道压力测试是什么.怎么工作的:二是询问过身边的一些测试同学,他们进行压力测试的时候,很多情 ...

  2. Android App 压力测试 monkeyrunner

    Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试? 第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. AD ...

  3. Android APP压力测试(二) 之Monkey信息自动收集脚本

    转载-原文地址:   http://www.cnblogs.com/findyou/p/3936063.html Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 本文重点 ...

  4. (转)用mysql自带工具mysqlslap对数据库进行压力测试

    http://aolens.blog.51cto.com/7021142/1901557-------用mysql自带工具mysqlslap对数据库进行压力测试 mysqlslap是mysql自带的工 ...

  5. cpu频率监控linux系统,一种用于Linux的CPU压力测试监控方法与流程

    本发明涉及的是服务器领域,尤其是在Linux下对CPU压力测试时,进行CPU监控的方法. 背景技术: 在现有技术中,公知的技术是CPU作为现代服务器的核心组成部分,其稳定性直接影响整个服务器的稳定性. ...

  6. APP压力测试,Monkey玩手机一顿猛点

    Monkey 1.定义: monkey是android app自动化压力测试的命令行工具,可以运行在模拟器或真机上,表示随机事件测试.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等 ...

  7. APP压力测试工具使用

    Monkey Monkey 是一个 Android 自动化测试小工具.(压力性能测试) 主要用于Android 的压力测试, 主要目的就是为了测试app 是否会Crash崩溃. Monkey测试教程 ...

  8. Android App压力测试(Monkey和ADB)

    压力测试简介 压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分.压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试.通常 ...

  9. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack

    LINUX系统下MySQL 压力测试工具super smack 发布时间:2008-09-08 17:03:39   作者:佚名   我要评论 1. 源文件下载地址:http://vegan.net/ ...

最新文章

  1. [转载]Mysql数据库千万级数据处理优化
  2. python读取第二行_从CSV文件读取第二行到Python
  3. java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素
  4. 前端学习(872):注册事件兼容性处理
  5. Angular中父子组件传值@Input @Output @ViewChild最全面最简单的总结
  6. Netty工作笔记0026---NIO 网络编程应用--群聊系统1---编写服务器1
  7. Git提交时提示“Please make sure you have the correct access rights and the repository exists.”的解决方法
  8. 获得阿里巴巴编码规范技能认证
  9. 搭建跨平台编程环境Code::Blocks+wxWidgets
  10. mfsort shell语法_8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下...
  11. Linux 用户打开进程数的调整
  12. windows系统中如何新建桌面
  13. Ubuntu 18.04配置ORB-SLAM2+ROS实时运行ORB-SLAM2+SLAM相关库的安装 相关问题汇总(USB_CAM , ROS 编译问题)
  14. ACTF2022 rsa leak
  15. 新年快乐——我的星星
  16. 单个正态总体参数的区间估计、两个正态总体参数的区间估计 Matlab实现
  17. 关于Python启动程序的其他方法,这些你应该知道>_(Python编程 | 系统编程 | 并行系统工具 | 启动程序的其他方法)
  18. uniapp 收藏功能实现及组件封装
  19. 杭电ACM 1000题
  20. Python实现图片和视频的相互转换

热门文章

  1. OAF开发基本知识点
  2. 云原生之Linux命名空间和docker容器隔离
  3. 学习游戏建模的方式有哪些?次世代游戏建模学习路线以及要掌握的3D软件分别是?
  4. pwn的学习8 leg
  5. 明天水立方的免费区块链沙龙,讲师阵容庞大,别说我没告诉过你!
  6. 也谈一个苦逼程序员是如何学好英语的这件小事
  7. 生活记录--虽然没有扶着墙进,基本扶着墙出
  8. MD5是什么?如何使用MD5?
  9. 32.768K的晶振用途
  10. XML fragments parsed from previous mappers already contains value for XXX