Montioring an Android app's performance

Hello again.

I have made some test cases sucessfully thanks to this great community.

and my boss want to monitor our app in a various views: CPU/RAM/Network/Battery(for both system and my app) Usage.

It is monitoring so I used a seperate thread to run ‘adb shell top | findstr {packagename}’ but it only provides limited data.
In the contrast, repeating dumpsys does not provide real-time data so none of them is good enough for me.

However, I saw Appium-Dashboard get the data and even provide graphs images, that is impossible to parse.
Plus Battery historian can analze battery consumption of a specific app in a specifc period.
So I think there should be way to get those data.

It do not need to be real-time, but I would like to monitor my app during a test scenario with more details.

Any advice please?

Thank you

try use -> https://appium.io/docs/en/2.0/reference/interfaces/appium_types.ExternalDriver/#getperformancedata

1 Like

Much appreciate it.
I had tried this one as well, but my app is kind of special. People usually do not launch it, but see a window from it on other app. It leads the tool to be confused since two activities(the window and the background) with the same package name are detected.

Plus, the appium performance data featrue exploit adb shell dumpsys command accroding to the server log not appropriate to get real-time data. and it stacks duplicated value. I do not know if it is correct method.

try something like
https://developer.android.com/topic/performance/tracing#guides

also CPU stat https://fleekitsolutions.com/battery-and-cpu-utilization-testing-for-android/ - just run command that saves CPU data and read it later. As far as it uses PID - your data should be correct.

1 Like