Performance monitoring

Follow

Performance Monitoring provides you a deeper understanding of your applications performance (Android, web and iOS) and lets you optimize its performance. The Performance Monitoring SDK collects data from your application and the Countly dashboard visualizes this data so that you can review and analyze your applications performance. With this tool you can find performance issues within your application and fix them for better user experience.

Available for Enterprise Edition

Performance Monitoring is available for Enterprise Edition only.

Getting started

First, you need to integrate the Performance Monitoring SDK to your mobile or web application. Once the SDK is integrated and starts capturing the performance data points, you can view them in the Countly dashboard immediately.

Datapoints captured by the SDK are grouped and recorded as a trace by Countly.

What is a trace ?

A trace is a report of performance data points captured between two points in time in your app.

Example - app_start, https://yourwebsite.com/, forLoopTrace 

After you have logged in to your Countly Enterprise account, you can access Performance Monitoring via the main menu on the left side.

1.png

In the Performance Monitoring view you will see three tabs - 

  1. Overview
  2. Device
  3. Network 

Overview tab

In the performance monitoring overview section, you get two kinds of information - Recent issues and overall Performance metrics information.

Recent issues

Performance monitoring automatically identifies possible issues in your application for all the device's duration traces and network traces. A trace is marked as an "issue" if it exceeds the threshold value for the trace over the period of last 30 days. The default threshold value for all traces is 2 seconds. The metric used to identify an issue is response time for network traces and duration for device traces.

7.png

For all the issues, you have three options:

  1. Edit threshold: You can edit the threshold value for the issue/trace
  2. Mute issue: Once you mute the issue, it will no longer appear in the performance overview
  3. Re-open issue: You can choose to reopen the muted issue, and it will again appear in the overview tab

Performance metrics

Performance metrics overview displays the following information for your app -

  1. Network response latency: This chart displays the median response time value for all HTTP/S requests aggregated country-wise grouped into three categories i.e. below 2 sec, between 2 - 6 sec and above 6 sec
  2. Network success rate: This chart displays the network success rate over time for all HTTP/S requests combined together
  3. Top slow networks: This chart displays the top slow network traces of the application
  4. Top slow rendering screens (only for mobile apps): This chart displays the top slow rendering screens of the application
  5. App start trace (only for mobile apps): This chart displays the aggregate application start density distribution for the selected time period

8.png

Device traces tab

A device trace is a report that captures metrics related to the applications performance on the device. Depending upon the application type (mobile or web), different traces could be recorded by the SDK with different metrics.

Traces collected by mobile SDK

Performance monitoring SDK for mobile devices (iOS and Android) captures two types of traces: duration traces and screen traces. Mobile SDK's have a few reserved trace keys that are captured automatically by the SDK which are: app_start, app_in_background, app_in_foreground.

Duration traces

The recorded metric for these traces is duration. Automatic duration traces captured by the Countly mobile SDK's are -

  1. App start: Measures the time taken by the app to become responsive after it is opened
  2. App in background: Measures the time when the app is running in the background
  3. App in foreground: Measures the time when the app is running in the foreground

Screen traces

Screen traces span the lifetime of a screen and measure slow and frozen frames. Recorded metrics for these traces are slow rendering frames and frozen frames.

You can find all the device traces under the device tab in the performance section of the Countly dashboard.

_5.png

Traces collected by web SDK

Countly web SDK uses Boomerang.js, an end user oriented web performance testing library, to send traces to Countly server. It can collect performance timings, metrics and characteristics of your user's web browsing experience. Performance monitoring SDK for web captures two types of traces: page load traces and duration traces.

Page load traces

The performance monitoring SDK captures page load traces automatically for your application, and shows them on the Countly dashboard. Recorded metrics for the page load traces are as follows -

  1. First paint: Time between user navigation to a page and when any visual change happens
  2. First contentful paint: Time between user navigation to a page and when meaningful content displays, like text or image
  3. DOM interactive: Time between user navigation to a page and when the page is considered interactive for the user
  4. DOM content loaded event end: Time between user navigation to a page and when the initial HTML document is completely loaded and parsed
  5. Load event end: Time between user navigation to the page and when the current document's load event completes
  6. First input delay: Time between user interaction with a page and when the browser is able to respond to that input

Duration traces

The recorded metric for these traces is duration. All custom traces for web apps are grouped into duration traces.

You can find all the device traces under the device tab in the performance section of the Countly dashboard.

6.png

Network traces tab

A network trace is a report that captures metrics for the HTTP/S requests issued by your application to the API endpoint. For each endpoint request your application makes, performance monitoring records the following metrics - 

  1. Response timeTime between when the request is made and when the response is received
  2. Request payload size: Byte size of the request made by the application
  3. Response payload size: Byte size of the response downloaded by the application
  4. Success ratePercentage of successful response codes (2xx - 3xx) compared to total responses

You can find all the network traces under the network tab in the performance section of the Countly dashboard.

4.png

 

Custom Traces

You can create custom traces in your mobile or web application to monitor the performance of some specific code in your app. The default metric for all custom traces is duration, but you can also add your own custom metric using the SDK methods.

Key points

  1. A custom metric should have a numeric integer value that can be measured and visualised over time.
  2. The names of custom metrics can only have up to 32 characters.
  3. All the custom traces can be found in the duration table in the device tab for all app types.

 

Detailed metric information

If you navigate to the further levels in performance monitoring by clicking on any network trace or device trace, you will see a detailed metric view for each metric for that particular trace.

9.png

Here you can review each metric, for the selected time period, over time and an aggregated density distribution. You can also break down the collected data points for the metric using Drill and view detailed information for the metric in the attributes table categorised into Device, Country, City, Region, Platform, Platform Version, App Version, Carrier, Browser and Browser Version.

Detailed sample information

Countly can also provide detailed sample information. A sample in Countly Performance Monitoring is a single data point captured by the SDK and recorded in Countly.

From the detailed metric view you can navigate further to the Samples view, where you can dive deep into more granular information for the metric. 

10.png

The Samples view provides the aforementioned attributes information for each data point which can be further segmented using the Drill (by applying the filter on the top of the page). This page provides very valuable information if you want to see per-device or per-browser details.

Was this article helpful?
0 out of 0 found this helpful

Looking for help?