登录

去注册

登录

注册

去登录

注册

【开源完整项目】 AndroidGodEye 监控Android数据指标

xiaoyang   2018-01-28

android_god_eye_logo.png

AndroidGodEye


English README.md    中文 README_zh.md

Android开发者在性能检测方面的工具一直比较匮乏,仅有的一些工具,比如Android Device Monitor,使用起来也有些繁琐,使用起来对开发者有一定的要求。而线上的App监控更无从谈起。所以需要有一个系统能够提供Debug和Release阶段全方位的监控,更深入地了解对App运行时的状态。

概览

android_god_eye_connect.jpg

AndroidGodEye是一个可以在PC浏览器中实时监控Android数据指标(比如性能指标,但是不局限于性能)的工具,你可以通过wifi/usb连接手机和pc,通过pc浏览器实时监控手机性能。

系统分为三部分:

  1. Core 核心部分,提供所有模块
  2. Debug Monitor部分,提供Debug阶段开发者面板
  3. Toolbox 快速接入工具集,给开发者提供各种便捷接入的工具

AndroidGodEye提供了多种监控模块,比如cpu、内存、卡顿、内存泄漏等等,并且提供了Debug阶段的Monitor看板实时展示这 些数据。而且提供了api供开发者在release阶段进行数据上报。

快速开始

STEP1

引入依赖,使用gradle

dependencies {
  implementation 'cn.hikyson.godeye:godeye-core:VERSION_NAME'
  debugImplementation 'cn.hikyson.godeye:godeye-monitor:VERSION_NAME'
  releaseImplementation 'cn.hikyson.godeye:godeye-monitor-no-op:VERSION_NAME'
  implementation 'cn.hikyson.godeye:godeye-toolbox:VERSION_NAME'
}

VERSION_NAME可以看github的release名称

STEP2

模块安装,GodEye类是AndroidGodEye的核心类,所有模块由它提供。

在应用入口安装所有模块:

GodEye.instance().installAll(getApplication(),new CrashFileProvider(context))

推荐在application中进行安装

可选部分

不需要的时候卸载所有模块:

GodEye.instance().uninstallAll();

如果不想要所有的模块,你也可以自己安装想要的模块,比如GodEye.instance().cpu().install()

注意:network和startup模块不需要安装和卸载

安装完之后相应的模块就开始输出数据了,一般来说可以使用模块的consume方法进行消费,比如cpu模块:

GodEye.instance().cpu().subject().subscribe()

就像我们之后会提到的Debug Monitor,也是通过消费这些数据进行展示的

STEP3

Debug面板安装,GodEyeMonitor类是AndroidGodEye的Debug监控面板的主要类,用来开始或者停止Debug面板的监控。

开始消费GodEye各个模块数据并输出到Debug面板:

GodEyeMonitor.work(context)

结束消费,关闭Debug面板:

GodEyeMonitor.shutDown()

STEP4

完成!开始使用:

手机与pc连接同一网段,在pc浏览器中访问手机ip+端口。或者如果你是用USB连接的话,执行adb forward tcp:5390 tcp:5390,然后pc浏览器中访问http://localhost:5390/

即可看到Debug面板!

端口默认是5390,也可以在GodEyeMonitor.work(context)中指定,一般在开发者在调用GodEyeMonitor.work(context)之后可以看到日志输出 'Open AndroidGodEye dashboard [ http://xxx.xxx.xxx.xxx:5390" ] in your browser...' 中包含了访问地址。

好吧,如果你懒得自己编译这个项目的话,你也可以先下载 APK 看看效果。

Debug开发者面板

点击下面预览↓

android_god_eye_play.png

Base info

android_god_eye_summary.png

卡顿检测

android_god_eye_block.gif

内存泄漏检测

android_god_eye_leak.gif

更多模块

android_god_eye_cpuheaptraffic.gif

还有更多...

模块详情

模块名需要安装数据引擎数据生产时机
cpu内置定时
battery内置定时
fps内置定时
leakDetector内置发生时
heap内置定时
pss内置定时
ram内置定时
network外部驱动-
sm内置发生时
startup外部驱动-
traffic外部驱动定时
crash外部驱动安装后,一次性
thread dump内置定时
deadlock内置定时并发生时

框架

下图可以更清楚地解释AndroidGodEye是如何工作的:

android_god_eye_framework.jpeg

许可协议

AndroidGodEye使用 Apache2.0 许可协议。

关于我

项目地址:https://github.com/Kyson/AndroidGodEye/