Shebella / android-perftracking

Performance Tracking for Android Apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Performance Tracking

codecov CircleCI

Measure performance of android applications.

How it works

A gradle plugin instruments android applications code, adding measurement calls to the UI lifecycle, network connections and a few standard listeners. These measurement calls are collected by a runtime component and sent to a backend periodically.

The modules are:

performance-tracking-core

  • Annotations & configuration for instrumentation, packages core.annotations, core.base, core.detours, core.mixins and core.wrappers
  • Measurement collection & sending to backend, core package

performance-tracking-stubs

  • Stubs of and instrumented APIs

performance-tracking-plugin

  • Android Gradle Transformation that instruments the application code using ASM

performance-tracking

  • Fetches configuration from backend & starts collection of measurements
  • Runtime API for applications to start and prolong measurements and metrics

How to build it

$ git submodule init
$ git submodule update
$ ./gradlew performance-tracking:assemble performance-tracking-plugin:assemble \
    -PDEFAULT_CONFIG_URL_PREFIX="url to your configuration server" \
    -PDEFAULT_LOCATION_URL_PREFIX="url to your location server"

How to use it

Currently we do not host a public APIs but you can fork it and use your own (dummy) apis

Contributing

See Contribution guidelines

About

Performance Tracking for Android Apps

License:MIT License


Languages

Language:Java 77.2%Language:Groovy 22.8%