/AndroidGodEye

AndroidGodEye:A performance monitor tool for Android(not limited to performance data) , you can easily monitor the performance of your app in real time in pc browser

Primary LanguageJavaScriptApache License 2.0Apache-2.0

AndroidGodEye


English README.md    中文 README_zh.md

Android developer lack of monitoring of performance data,especially in production environment. so we need "AndroidGodEye".

Overview

android_godeye_connect

AndroidGodEye is a performance monitor tool for Android(not limited to performance data) , you can easily monitor the performance of your app in real time in pc browser.

It is divided into 3 parts:

  1. Core provide all performance modules and produce performance datas.
  2. Debug Monitor provide a panel to show these performance datas.
  3. Toolbox make developers easy to use this library.

AndroidGodEye prodive several modules, such as cpu, heap, block, leak memory and so on.

Quickstart

Step1

In your build.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'
}

You can find VERSION_NAME in the github release.

Step2

Install modules , GodEye class is entrance for this step, all modules are provided by it.

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

Recommended to be installed in application.

Optional

Uninstall modules when you don't need it:

GodEye.instance().uninstallAll()

If you don't need all modules , you can install separately, such as "cpu":

GodEye.instance().cpu().install()

Note that network and startup module don't need install and uninstall.

When install finished, GodEye begin produce performance data, generally you can call consume of modules to get these datas, for example:

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

Just like we will mention later,Debug Monitor is one of these consumers.

Step3

Install debug monitor,GodEyeMonitor class is entrance for this step.

Consume data produced by GodEye modules:

GodEyeMonitor.work(context)

Stop it:

GodEyeMonitor.shutDown()

Step4

You're good to go!

Make sure your android device and pc are on the same network segment, and open browser on pc, then open Android device ip : Port

Or if you are using it over usb, run adb forward tcp:5390 tcp:5390, then open http://localhost:5390/.

now enjoy it!

Default port is 5390, you can find ip in logcat output after call GodEyeMonitor.work(context), log is like:'Open AndroidGodEye dashboard [ http://xxx.xxx.xxx.xxx:5390" ] in your browser...'.

Okay...If you just want to see the results, you can install APK directly.

Debug Monitor

Click ↓ to preview

Base info

android_godeye_summary

Block Detector

android_god_eye_block

Leak Memory Detector

android_god_eye_leak

More

android_god_eye_cpuheaptraffic

and more...

Modules

Module Name Need Install Engine Data produce time
cpu yes internal interval
battery yes internal interval
fps yes internal interval
leakDetector yes internal happen
heap yes internal interval
pss yes internal interval
ram yes internal interval
network no external -
sm yes internal happen
startup no external -
traffic yes external interval
crash yes external after install,one time
thread dump yes internal interval
deadlock yes internal interval&happen

Framework

How does AndroidGodEye work?As below:

android_god_eye_framework

License

AndroidGodEye is under Apache2.0.

About Me