KPIs for Android Application Monitoring
📋 Overview
GermainUX provides preconfigured KPIs for monitoring Android application usage, performance, errors, transactions, and device conditions.
The available data depends on:
|
Factor |
|---|
|
GermainUX Mobile App library version |
|
Android version |
|
Application permissions |
|
Enabled monitoring features |
|
Custom application instrumentation |
|
Device and operating-system restrictions |
Custom KPIs can also be created for application-specific events, transactions, and business processes.
⚙️ Preconfigured KPIs
|
KPI |
Data model |
Description |
|---|---|---|
|
Mobile App Crash |
|
Application crash caused by a captured unhandled exception |
|
Mobile App Error |
|
Application error or handled exception |
|
Mobile App Event |
|
Application lifecycle, system, or custom event |
|
Mobile App Fragment Load |
|
Load duration for a supported Android fragment |
|
Mobile App Transaction |
|
Duration and context of a custom application transaction |
|
Mobile App Uptime |
|
Monitored application uptime and foreground or background duration |
|
Mobile App Usage |
|
Application usage measurement |
|
Mobile App View Navigation |
|
Duration of navigation to a supported activity or view |
|
Mobile Battery Level |
|
Device battery level available to the application |
|
Mobile CPU Usage |
|
CPU usage available through the configured monitoring |
|
Mobile Disk Usage |
|
Storage usage available to the application |
|
Mobile Memory Usage |
|
Device memory measurement available to the application |
|
Mobile Network Bandwidth |
|
Configured network-bandwidth measurement |
|
Mobile Network Usage |
|
Network usage available to the monitored application |
|
Mobile Process Memory |
|
Memory used by the monitored application process |
|
Mobile Service |
|
Status or measurement of a configured Android service |
Not every KPI is populated automatically. Some require permissions, supported Android APIs, enabled configuration, or custom instrumentation.
🛡️ Application Stability KPIs
💥 Mobile App Crash
Captures crashes reported through automatic unhandled-exception monitoring or the explicit crash API.
Useful measures include:
|
Measure |
|---|
|
Crash count |
|
Unique crash types |
|
Affected users |
|
Affected sessions |
|
Crash rate |
|
First and last occurrence |
Useful pivots include:
|
Pivot |
|---|
|
Exception name |
|
Application version |
|
Android version |
|
Device manufacturer and model |
|
Screen or fragment |
|
Transaction |
|
User session |
Mobile App Error
Captures application errors and handled exceptions submitted to GermainUX.
Use this KPI for software failures that do not necessarily terminate the application. Expected user validation should be categorized separately so it does not inflate the application-error rate.
🔔 Mobile App Event
Captures supported:
|
Event type |
|---|
|
Application lifecycle events |
|
System events |
|
Custom events |
|
Low-memory notifications |
|
Foreground and background transitions |
|
Application startup events |
System-event availability varies by Android version, permissions, application state, and device manufacturer.
📈 Performance KPIs
🐌 Mobile App Fragment Load
Measures the load duration of supported Android fragments.
Use it to identify:
|
Issue |
|---|
|
Slow fragments |
|
Release regressions |
|
Device-specific performance problems |
|
Business-process steps with poor performance |
🧭 Mobile App View Navigation
Measures navigation duration for supported Android activities and views.
Custom UI frameworks, including navigation that does not use standard activity or fragment lifecycles, may require custom transaction instrumentation.
🛠️ Mobile App Transaction
Measures custom operations instrumented with:
GermainAPM.startTransaction(...)
GermainAPM.endTransaction(...)
Transactions can represent:
|
Transaction type |
|---|
|
Network requests |
|
Data synchronization |
|
Local database operations |
|
Authentication |
|
Search |
|
Form submission |
|
Order processing |
|
Custom business-process steps |
Useful measures include count, average duration, median, percentiles, maximum duration, failure count, and affected users.
👥 Usage KPIs
⏰ Mobile App Uptime
Measures the application lifetime observed by GermainUX, including available foreground and background duration.
Android does not always notify an application before terminating its process. A complete final uptime value may therefore be unavailable for some executions.
📈 Mobile App Usage
Provides application-usage measurements that can be analyzed with:
|
Metric |
|---|
|
Active users |
|
Sessions |
|
Application version |
|
Android version |
|
Device |
|
Environment |
|
Time period |
|
User role or segment, when configured |
Combine usage data with screens, fragments, events, and business-process transactions for more detailed adoption analysis.
🔋 Device and Resource KPIs
🔌 Battery
Mobile Battery Level helps determine whether application behavior or failures correlate with battery state.
Battery information should be used as application context rather than as a complete device-management solution.
💻 CPU and memory
Use the following KPIs to analyze resource conditions available to the monitored application:
|
KPI |
|---|
|
Mobile CPU Usage |
|
Mobile Memory Usage |
|
Mobile Process Memory |
These metrics can help investigate slow transactions, low-memory events, freezes, or crashes.
📁 Disk
Mobile Disk Usage captures storage information accessible to the application. Use it to identify whether limited storage correlates with failed downloads, synchronization, caching, or file operations.
📡 Network
Use:
|
KPI |
|---|
|
Mobile Network Bandwidth |
|
Mobile Network Usage |
These KPIs provide available network context for analyzing slow or failed operations. They do not replace network-carrier or device-management telemetry.
✅ Recommended Measures
Depending on the KPI, configure:
|
Measure |
|---|
|
Count |
|
Unique users |
|
Affected sessions |
|
Average |
|
Median |
|
Percentiles |
|
Minimum and maximum |
|
Duration |
|
Error or crash rate |
|
Success and failure rates |
|
Trend compared with the previous period |
|
Deviation from a baseline |
Analyze percentiles and affected-user counts alongside averages. Averages can hide serious problems affecting a smaller user group.
🔎 Recommended Pivots
Useful dimensions include:
|
Dimension |
|---|
|
Application |
|
Environment |
|
Application version |
|
Android version |
|
Device manufacturer |
|
Device model |
|
User or role |
|
Session |
|
View or activity |
|
Fragment |
|
Transaction |
|
Event or error name |
|
Network state |
|
Geographic region, when approved |
|
Business process |
|
Release |
Avoid using personal or high-cardinality values as pivots unless they are necessary and approved.
🏗️ Business-Process KPIs
Create business-process monitoring from relevant mobile events, views, fragments, and transactions.
Common business-process measurements include:
|
Measurement |
|---|
|
Processes started |
|
Processes completed |
|
Processes failed |
|
Processes abandoned |
|
Completion rate |
|
Failure rate |
|
Abandonment rate |
|
End-to-end duration |
|
Step duration |
|
Process overrun |
|
Lost productivity |
A screen visit alone does not confirm that a process step succeeded. Use a transaction or custom event when completion must be verified.
🚨 Alerts
Configure alerts for conditions such as:
|
Alert condition |
|---|
|
New crash signature |
|
Increased crash rate |
|
Increased application errors |
|
Slow application launch |
|
Slow fragment or view navigation |
|
Critical transaction failure |
|
Performance regression after a release |
|
Repeated low-memory conditions |
|
Increased business-process abandonment |
|
Missing expected telemetry |
Use minimum-volume, duration, and recurrence requirements to avoid noisy alerts.
📊 Dashboards and Reports
Android dashboards can include:
|
Dashboard item |
|---|
|
Active users and sessions |
|
Application usage |
|
Crashes and affected users |
|
Errors and exceptions |
|
Launch and navigation performance |
|
Slowest fragments |
|
Custom transactions |
|
Business-process effectiveness |
|
Application-version comparison |
|
Android and device breakdown |
|
CPU, memory, storage, battery, and network context |
Scheduled reports can summarize current values, trends, changes compared with the previous period, new errors, and affected user populations.
✅ Validation
After enabling Android monitoring:
-
Confirm that expected KPIs receive data.
-
Verify application and environment names.
-
Generate a controlled event, transaction, and handled exception.
-
Validate crash collection in a safe test build.
-
Navigate through supported activities and fragments.
-
Confirm that device metrics are available where expected.
-
Verify data across debug and release builds.
-
Confirm that sensitive attributes are excluded.
-
Test dashboard filters, alerts, and reports.
ℹ️ Get Help
The Germain Team can help you set this up. Contact GermainUX Support.
Component: Engine, Mobile App, RUM JS
Feature Availability: 2022.1 or later