Create a dashboard

Decide which metrics your team needs to monitor over time. If you have organised the devices in your device farm into performance tiers, you can set performance targets and build separate charts to show whether devices in each tier are meeting those targets. 

We've used Elasticsearch and Kibana to store and visualize JSON data exported from Arm Mobile Studio. Here are some example charts you could build to monitor performance.

Current average FPS

This chart shows a snapshot of the average FPS broken down by device performance tier.

  1. Build an average FPS chart for each device tier using the allCapture.averageFrameRateFps field.
  2. Filter each chart to show devices that belong to each tier. If you've stored data for each device in separate indices, you can filter by index. Alternatively, use the targetInfo.device field to choose device names.
  3. Adjust the colors in each chart to reflect your target FPS.
  4. Filter the chart to the date range you require. You could show today's date, the last 7 days, or any date range that makes sense to your team. 

Average FPS over time

This chart shows how the average FPS across all devices changes over time.

Average FPS over time

Build a chart for each device tier. Plot the allCapture.averageFrameRateFps field for the devices in each tier over time. Select the required devices from different indices containing your tiers, or with the targetInfo.device field.

GPU budgeting

If you know the top frequency achievable by the GPU in your device, and you have a target frame rate, you can calculate a maximum GPU cycles per frame budget, and measure your content against it. If your content breaks this budget, it might cause frame rate to drop. Plot the gpuCycles.max field to monitor this value over time. You could also set a query to alert you when your budget is broken.

Region analysis

If you've used annotations or a regions file to divide your testcase into different sections, you can monitor data for each section in different charts.