A desktop mobile app performance collector based on ADB/HDC for continuously monitoring CPU, frame timing, memory, network, battery, temperature, and foreground activity by package name.
The Performance Monitoring Tool collects runtime data through ADB/HDC system commands. It supports CPU, FPS frame timing, memory, network traffic, battery level, temperature, total memory, total CPU, and current foreground page metrics. Testers enter a package name to start continuous sampling and can export the results as an xls file. The tool is designed for focused observation on a connected or specified device, with results derived from system shell output; it does not implement automated diagnosis or server-side reporting.
- package.py explicitly supports the performance packaging entry, mapped to performanceGui.py.
- performanceGui.py exposes CPU, FPS, memory, network, battery, temperature, total memory, and total CPU options.
- The ADB path uses dumpsys battery, dumpsys meminfo, dumpsys gfxinfo, top, /proc/net/dev, and dumpsys activity.
- Observe app CPU, memory, frame timing, and network changes during manual or focused testing.
- Compare performance changes before and after a page or operation while recording the current Activity.
- Inspect app traffic, app network speed, and total network speed under Wi-Fi or cellular scenarios.
- Users enter the app package name and optional device serial in a PyQt5 GUI. The tool auto-detects adb devices or hdc list targets before sampling.
- The PC side requires Python/PyQt5, tablib, and a usable adb or hdc command-line tool.
- The device must allow debugging connections and ADB/HDC shell commands.
- App-level metrics require the package name to match a running process.