Create frontend performance benchmarks with service levels


By the end of this tutorial, you will:

  • Understand service level indicators (SLIs) and service level obectives (SLOs).
  • Have created and defined SLIs and SLOs for your frontend experience.
  • Have alerts set up to warn of any SLI or SLO breaches so you can react before they impact your users.


Let's look at the difference between service levels, SLOs and SLIs. Service levels describe services provided to users within a given period of time, in measurable terms. Service level objectives (SLOs) are the goals set for the availability expected out of a system. Service level indicators (SLIs) are the key measurements and metrics to determine the availability of a system.

Defining and managing your service levels following the steps below provides the ability to:

  • Ease future setup: Automatically establish a baseline of performance and reliability for any service with a one-click setup.
  • Define reliability across teams: Avoid arduous alignment processes with SLO and SLI recommendations that help you determine service boundaries. Set reliability benchmarks automatically based on recent performance metrics in any entity.
  • Iterate and improve: With full-stack context and automation through open-source infrastructure-as-code tools like Terraform, teams have insight into how specific nodes or services impact system reliability and can quickly take control over their performance. Custom views for both service owners and business leaders drive operational efficiency and lead to better reporting, alerting, and incident management processes.
  • Standardize reliability: Cross-organizational teams have a unified, transparent view of service reliability, and can better comply with customer-facing SLAs. SLO compliance metrics and error budgets give organizations a way to report on reliability and implement changes across applications, infrastructure, and teams in a cohesive fashion.

Let's get started with creating your frontend performance benchmarks:

Step 1 of 4

Select service level indicators:

While there are a large amount of SLIs you could use to define your frontend experience benchmarks, the following are some we specifically reccomend. Each collapser has an explanation of when you should choose that SLI and a corresponding NRQL query (which you'll use in step 2).

For now, just select one of the following:

SLIs for APM services instrumented with the New Relic agent: Based on Transaction events, these SLIs are the most common for request-driven services:

SLIs for browser applications: The following SLIs are based on Google's core web vitals.


Your organization should define SLOs and SLIs based on your specific needs, your user's expectations, and resources available. After completing this tutorial, we recommend you learn more about how to define granular custom service levels.

Step 2 of 4
  1. Navigate to > All capabilities > Service levels management. This UI shows all your service levels and allows you to define, monitor, and edit them.
  2. Select + Add a service level in the top right of the UI.
Step 3 of 4

Choose the corresponding entity that you want to create a service level for. This could be an entire workload, a specific service, a synthetic monitor, or even a specific transaction. Once you've selected your entity, click Continue on the left side of the UI pane.

Step 4 of 4

Define the SLI you chose in step one in this pane. For example if you chose to define an SLI for browser app success, you would use the following queries:

Query for valid events:

FROM: PageView
WHERE: entityGuid = '{entityGuid}'

Query for bad events:

FROM: JavaScriptError
WHERE: entityGuid = '{entityGuid}' AND firstErrorInSession IS true

Select Continue in the left pane once you've confirmed your queries are correct.

Next steps

Congratulations! You've completed our journey on how to use New Relic to improve your site's performance! Ready to learn more about New Relic features? See our introductory docs on some of our most impactful features below: