View device or application vitals
Perfecto collects useful performance data (vitals) for the front-most application on an open mobile device by default and in real-time. If you have several mobile devices open, Perfecto collects vitals for each of them. This includes information on CPU, power, memory, and combined network usage (in/out), all of which measure the general performance of the device and determine how efficiently resources are used.
Performance metrics provide valuable insights into an application's behavior, user experience, and overall efficiency. They deliver actionable data that you can use to enhance the overall quality of your mobile app. The actions you take may lead to improved user satisfaction, retention, and business success. Regular monitoring and continued optimization based on application vitals contribute to the long-term success of your application.
To learn how vitals collection works across the Perfecto platform, watch this short video. Note that in the video, the performance thresholds are set to low for demonstration purposes.
On this page:
Requirements
Vitals collection requires devices running iOS 15 or later and Android 12 or later. Earlier versions may work as well but are not officially supported.
Restrictions
Vitals collection is not supported:
-
In hybrid clouds
-
For system apps and desktop web apps
Additionally, to reduce the strain on the device, vitals collection is temporarily paused when an application is being installed.
Vitals data and performance incidents captured
Performance incidents can be absolute or relative in nature. Absolute incidents include the time an incident occurred. Relative incidents alert to a deviation (an increase) that was calculated based on the last 10 executions of the same automation test.
The Manual Testing view only shows absolute performance incidents for CPU or power score. In the Report Library and the single test report (STR), you can find both absolute and relative incidents.
A performance incident does not mean that the test execution failed. Incidents can also occur during executions that pass.
The following table describes the vitals collected and explains when absolute and relative performance incidents are logged.
Vital | Description | Absolute performance incident | Relative performance incident (Report Library/STR only) |
---|---|---|---|
CPU |
The total CPU usage as derived from the OS, in percentage (%). The value takes into account all processes available on the device. |
Reported when the usage exceeded 95% for more than 2 consecutive seconds |
Reported when CPU usage is at least 20% above the average of the previous 10 executions |
Memory Used |
The overall memory consumption, in megabyte (MB). |
N/A |
Reported when the maximum memory usage in this execution is at least 20% above the average of the previous 10 executions |
Network In |
The amount of data received from either the wireless or the mobile network, in megabits (Mbit) per second. |
N/A |
Reported when the maximum network in is at least 20% above the average of the previous 10 executions |
Network Out |
The amount of data sent to either the wireless or the mobile network, in megabits (Mbit) per second. |
N/A |
Reported when the maximum network out is at least 20% above the average of the previous 10 executions |
Power Score |
The grade at which the application under test uses energy, between 1 and 100. |
Reported when the power score exceeded 80 for more than 2 consecutive seconds |
Reported when both of the following are true:
|
Work with the Vitals pane
For an open device in the Manual Testing view, the Vitals pane is available on the right, below the Screenshots pane. It includes a graph along with an option to download vitals as a CSV file for use in a spreadsheet program, such as Microsoft Excel. By default, the pane is collapsed.
The following image shows a sample vitals graph for an iOS device. If no application is running in the foreground, the vitals shown are for the Home screen (on Android devices) or for the system (on iOS devices).
In the title and the tooltip, the graph shows the name of the front-most application. If the application name is truncated, you can hover over it to display a tooltip showing the full name.
Each metric in the graph comes with a color-coded line and a unique shape, as displayed in the legend below the graph.
The downloaded CSV file includes all vitals from the start of the session until the current point in time. The interval shown is in seconds.
Perfecto starts collecting vitals as soon as a device is connected. At all times, the graph shows data for up to 3 minutes. Data collected more than 3 minutes ago moves off the screen to the left.
Each line in the vitals graph has a different color. In addition, if an incident occurs, for example when CPU usage exceeds 95%, the vitals graph displays an incident indicator at the specific point on the timeline.
Moving the pointer over the graph displays a tooltip with information on the following items:
-
The front-most application
-
The time that has elapsed since the session started
-
CPU, memory, network in, network out, and power scores
-
An incident indicator, if applicable
If vitals are not supported for a device, if only partial vitals are collected for a device, or if vitals collection has been missed for one or more intervals, this is indicated by a note displayed below the vitals graph.
Vitals information is also available in the Report Library, in the single test report (STR), and on the Insights dashboard.
-
In the Vitals pane on the right, click the download icon .
A success message appears when the download is complete.
If the file includes any lines without metrics, this means that no application was open on the device screen. Perfecto only collects vitals from the application running in the foreground.
-
In the Vitals pane on the right, next to the Vitals label, click the downward-facing arrow to minimize the pane.
-
If the Vitals pane on the right is collapsed, next to the Vitals label, click the upward-facing arrow to expand the pane.