Resource Timing Data

Overview

Resource Timing data offers a powerful view into the performance of individual object-level resources of your website.

Resource Timing helps customers look at the network performance of page level objects, based on the data that we provide on connection time, download time, and different response times. Examples of page level objects are, images, JavaScript files, API calls, and so on. It gives customers better visibility into the page level performances. The end result is that customers can better manage their delivery and ensure an overall better quality of user experience.

The following sections walk you though the configuration, data description, and reporting of resource timing data.

Resource Timing Configuration

The user interface in the portal allows you to directly input settings for Resource Timing configuration as an alternative to JSON coding.

Note: Even though configuration through JSON coding is still available, it is highly recommended that you use the UI for configuration.

From the left navigation pane, choose Impact -> Resource Timing Data -> Resource Timing Configuration.

First time configuration

  • Select Start Now on the opening page to get started.
  • A Default Configuration Setting dialog opens for you to include or exclude resources and enter a sample rate.

Default Configuration Settings

The default configuration settings are the minimum settings required to get started. There are three main default configuration settings:

  • Resources to include and exclude
  • Sample Rate
  • Default Provider Detection

Resources to include or exclude

This feature allows you to include or exclude specific resources to collect timing data from. If left blank, all resources are included by default (that is, nothing is excluded).

You can enter resources such as, a file name, file name extension, folder name, file path, or even a string. Anything contained within the string will be picked up as a resource.

Press Enter or the Return key each time you input a resource name to submit it. If you enter specific resources in the Include field, only those resources are included and all other resources are excluded. To exclude specific resources, enter them in the Exclude field, and everything else, will be included. You can even write a custom regex logic to customize the inclusion or exclusion process.

Sample Rate

The Sample Rate allows you to enter a small sample of visitors that you want to collect IRT data from. Enter a value between 0 and 100 (taken as a percentage). Ideally you must enter the lowest percentage for sample rate - a value that is enough to collect the required number of resource timing measurements.

Note: Resource timing data collection places a heavy load on the system. This feature is for customers to sample data, and is not meant to collect data for every Radar session.

Caution: For customers with a high volume of data, start with a 1% sample rate. Increase it slowly until a statistically useful rate is reached. A high sample rate can potentially cause a server overload, slow down, or even a crash.

Steps for first time sample rate setting
  1. Start with a 1% sample rate. Wait 24-48 hours until you receive a few measurements.
  2. Check the IRT graph to see if it looks smooth across multiple assets.
  3. If yes, then leave the sample rate at this value, unless the customer has high web traffic.
  4. Alternatively, if the graph looks choppy due to low volume of data, turn it up slowly.
  5. Repeat all the checks and keep turning the rate up slowly (ideally every 24-48 hours) until you receive enough data (at about 10%).
  6. For customers with low web traffic you can go up higher than 10%. But for every small increase, ensure you perform all the checks mentioned.

Select Next to go to the Default Provider Detection Setting dialog.

Default Provider Detection

Provider detection allows you to identify the provider or platform from where the resource is being served. Enter a host name that is configured to detect the provider that serves the resource. You can enter multiple host names and configure provider detection for each of them individually. See the Provider Detection section for information on how to configure Provider Detection.

Select Complete to complete the first-time configuration.

Sites

The resource timing data is set up around three main areas:

  1. Sites
  2. Configuration
  3. Provider Detection
  • From the left navigation pane, go to Impact -> Resource Timing Data -> Resource Timing.

  • The Sites page under Resource Timing Data opens.

Enter the host name of the site you want to collect resource timing data from. Under Sites, you find the list of host names that are in the system already. If you don’t find the required site (host name), you can enter it by clicking the Add button. The Add Site dialogue allows you to add a new site to configure resource timing data on.

Configuration

Navigate to Impact > Resource Timing Data > Resource Timing Configuration from the side navigation menu of the Portal. The Sites page opens under Resource Timing Data.

From the top navigation bar choose Configuration.

You can add a new configuration by clicking the add button on the top right corner of the page.

Note: You may also see a list of configurations including the default configuration on the page. Instead of adding a new configuration, you can either select a default configuration, or edit an existing one from the list.

Add Configuration

To add a new configuration, click the Add button on the top right corner of the page.

The Add Resource Time Configuration dialog opens. This allows you to enter a new configuration Name, add Resources to Include or Exclude, and add the Sample Rate.

Edit Configuration

To edit an existing configuration select the Edit Configuration button beside the configuration name.

Provider Detection

Provider detection determines which platform handles a request for a domain when that domain is load-balanced behind Openmix. It is recommended that all customers who have resource timing data enabled, configure provider detection services.

  • To configure provider detection, navigate to Impact > Resource Timing Data > Resource Timing Configuration from the left navigation pane.

  • The Sites page under Resource Timing Data opens. From the top navigation bar choose Provider Detection.

Click the add button in the top right corner of the page.

In the Add Provider Detection Configuration dialog, enter the following.

Configuration Name

Enter a name for the configuration. The name cannot contain any spaces, or special characters, and must be unique.

Host name

Enter the host name for which you want to configure provider detection. You can enter multiple host names and specify detection methods for each of them individually.

Detection Method

The detection method involves specifying the type of test object (whether standard or custom) and path (to the test object) for each host name that you’ve entered.

Standard Test Objects

In the case of standard test objects, the path can be specified as, /provider-detection/platform.html and /provider-detection/platform.gif. For this setup, /provider-detection/ would be your directory path.

Note: It is not mandatory to enter the path described above. However, for any path you enter, ensure that the platform.html and platform.gif files are found in the directory path.

Custom Test Objects

In the case of custom test objects, you need to ensure that the test objects are found in the exact path you enter. For example, for host name foo.com and path static/bar.css, the URL http://foo.com/static/bar.css must be valid.

Headers

Platform Header

If you select Platform Header, ensure that the X-CDN-Forward: <CDN name> is sent on the test objects. If the X-CDN-Forward: <CDN name> is not found in the response headers, then the client moves on to the next test, which can be specified using Custom.

Custom

If you select Custom, ensure that the regular expression you enter, matches exactly with one of the CDN’s response headers.

If you add multiple response headers, they are each tested against the regular expressions in the same order as entered in the portal.

Click Create to complete the process. You now see the newly created configuration in the list under Provider Detection. Click the edit or delete icons if you want to modify the configuration, or delete it.

Your configuration is now complete. To configure Provider Detection alternatively through JSON coding, contact your account representative.

Resource Timing Measurement Descriptions

The following table shows the Resource Timing measurements that are collected.

Measurement Description Resource Timing Calculation
DNS Lookup Time The time required for the DNS resolution of the resource. Known as the DNS phase. domainLookupEnd – domainLookupStart
TCP Connection Time The time it takes a browser to establish connection with a server. Known as the TCP phase. connectEnd – connectStart
Waiting Time to First Byte (TTFB) TTFB is the amount of time a browser waits before the start of receiving the resource. responseStart – startTime
Round Trip Time (RTT) The time from the start of the request to the start of the response. Known as the Request phase. responseStart – requestStart
Wait Time The difference between the start of the response and the end of the response. Known as the Response phase. The response is usually from a server, cache, or local resource. responseEnd – responseStart
Duration The total time from the start of the process to the complete reception of the resource. responseEnd – startTime

Learn more at https://www.w3.org/TR/resource-timing-1/#process

Resource Timing Reports

The Resource Timing menu includes the following reports:

  1. Performance Report – Resource timing measurement data over time.
  2. Statistical Distribution Report – A view of Resource Timing data through a statistical distribution reporting view.

Performance Report

The report gives insight into performance data of resource timing over time per value selected.

Default Reporting View:

  1. Dimension: Resource Host name
  2. Measurement: Duration
  3. Time Range: Last 24 hours

Resource Timing Performance


Statistical Distribution Report

This report shows the statistical distribution of Resource Timing. The report gives insight into how many measurements were collected per resource value. You can filter based on Resource, Page, Platform, Location and User Agent, switch between measurement types, and run comparisons between specific page, location, and user agent details.

Default Reporting View:

  1. Dimension: Resource Host name
  2. Measurement: Duration
  3. Time Range: Last 24 hours

Statistical Distribution

The whisker chart

Statistical Distribution detail

Using the Reports

To refine and customize the report views for specific reporting needs, use the following functionality in the Performance and Statistical Distribution reports. In addition to the standard features of the reports such as report sharing, background toggle, data export, and more the following features are available:

Primary Dimension

Dimensions

The primary dimension of the chart is selected through a menu above the chart. You can use it as powerful pivot on the report to express data in terms of Resource Host name, Page Host name, Page, and Platform Name.

Filter: Report Time Range

Time Range

The reports can be generated with a time range of Last 60 Minutes, Last 24 Hours, Last 48 Hours, Last 7 Days, Last 30 Days, or a custom range. The default view is the Last 24 Hours.

Report Interval

Interval

Select the timing interval in which you want to view the trending graph. Depending on the date range you are viewing, you can view the graph in one minute, one hour, or one day intervals.

Measurement Types

Interval

Select the measurement type which you want to view the resource timing against. Choose from Duration, DNS Lookup Time, Round Trip Time (RTT), TCP Connection Time, Wait Time and Waiting (TTFB).

Select one statistical measure to view the data.

Interval

Filters: Powerful Drill-down Capabilities

The reports vary slightly in terms of which filters are appropriate based on the data. The following filter options are available in the reports:

Resource Host name:

Resource Host name

Resources:

Resources

Page Host name:

Page Host name

Page:

Resources

Platform Name:

Platform Name

Location: Network, Continent, Country, Region, and State:

Location

User Agents: Device Type, Browser, and IOS:

User Agents

Resource Timing Data