Mobile Development 21 min read

Engineering Practice: Building an Android Application Performance Management (APM) Dashboard

This article details the architectural design and engineering practices behind building a comprehensive Application Performance Management dashboard for Android applications, covering real-time monitoring, version comparison, development cycle tracking, automated data collection, and integrated test coverage analysis to ensure sustainable software quality and delivery efficiency.

Liulishuo Tech Team
Liulishuo Tech Team
Liulishuo Tech Team
Engineering Practice: Building an Android Application Performance Management (APM) Dashboard

Application Performance Management (APM) is crucial for maintaining application health and ensuring sustainable business growth as teams and product lines scale. This article shares the engineering practices behind building a unified APM dashboard for Android applications, focusing on systematic monitoring, data integration, and quality assurance.

The dashboard architecture is built around three core dimensions: a real-time change dashboard monitoring 24-hour global metrics, a version comparison dashboard tracking performance across releases over a year, and a development cycle dashboard focusing on the current iteration. The technical stack leverages open-source solutions like Prometheus for real-time data and Grafana for visualization, integrated with MariaDB for historical and comparative analysis. Backend services are rapidly developed using Kotlin and Spring Boot.

Data collection employs four primary methods: runtime reporting for page load times and runtime coverage, CI/CD periodic scanning for package size and code quality, API calls for tracking legacy bugs, and server-side crawling for crash, ANR, and memory leak data. Real-time metrics are pushed directly to Prometheus, while periodic reports are stored in MariaDB with scheduled synchronization tasks.

A key innovation is the comprehensive test coverage metric, calculated by merging Android Test, Unit Test, and runtime ec files. The system addresses challenges like obfuscated vs. unobfuscated code mapping and version-differential coverage calculation using git blame and custom diff logic. Memory leaks are monitored via LeakCanary, with stack traces carefully formatted to prevent false grouping in third-party platforms. Page load time monitoring utilizes

Prometheus
Histogram

types, optimized by limiting tracked versions to release and development to control metric cardinality.

Ultimately, the APM dashboard is integrated into the development workflow, establishing quality thresholds that must be met before beta releases. Regular team reviews and automated gating ensure continuous improvement, making the APM system a cornerstone for rapid iteration and long-term application sustainability.

CI/CDAPMquality assurancePerformance MonitoringPrometheusAndroid Developmenttest coverageGrafana
Liulishuo Tech Team
Written by

Liulishuo Tech Team

Help everyone become a global citizen!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.