Memfault is a full device monitoring solution that can be integrated into any AOSP device. SDKs are available for Android 8-10. Running a different version of Android? Let us know!
How does it work?
- Using the Bort SDK (source), bug reports are generated at a configurable interval and automatically uploaded to Memfault.
- Kernel oops, tombstones, java exceptions, ANRs, SELinux policy violations and other issues are extracted, grouped, de-duplicated, and displayed in a searchable dashboard. Notifications can let you know when problems are detected. Memfault can also symbolicate native traces and de-obfuscate android traces.
- Interactive, zoomable timeline charts are provided to view system and custom metrics over time, including battery, WiFi, Bluetooth, and activity manager events.
- Logs from logcat and dmesg are parsed, merged and displayed in a searchable interface alongside issues.
The Bug Report SDK is primarily a system application built using gradle and an additional dumpstate runner to allow bug reports to be generated in the background. For a detailed integration guide, see the Getting Started Guide.
To symbolicate native and ANR traces, as well as de-obfuscate android traces, Memfault provides a CLI tool that can be integrated into your build system to upload the required symbols and mappings, respectively. See Uploading Android Bugreports and Symbols for more information.
To track additional or custom metrics on your platform, see our guide on Collecting Device Metrics.