Establish team dashboards: gather and visualize key metrics

New Relic Insights dashboards enable collaboration and help teams provide improved digital customer experience through better performing applications and websites. Dashboards also increase employee productivity by helping teams align with business goals to better understand how their application's performance impacts their full business.

When issues arise, dashboards help teams narrow their search to a manageable number of endpoints and service layers, reducing the time to detection or resolution. Fostering collaboration mitigates the risk of friction, giving each stakeholder data relevant to their role.

Prerequisites

This tutorial assumes:

For more information, review New Relic's objectives and baselines tutorial, which also includes detailed information about SLIs, SLOs, and SLAs.

Basic process

In this tutorial, New Relic recommends that you start with team dashboards and then build a business performance dashboard. Team dashboards let you visualize the service level indicators (SLIs) and other key performance indicators (KPIs) for your applications at a glance by providing the status of relevant components in a single view.

  • Use team dashboards in your daily standups to guide your work for the day.
  • Use business performance dashboards as a single source of truth for broader observation about your business as a whole.

For more information on why development and operations teams should track services running in production and make them highly visible, see the O'Reilly DevOps Handbook

1. Make a dashboard of your SLIs

Team dashboards enable collaboration and provide a shared understanding of which areas of your application or organization needs attention.

  1. Group your dashboards by business units or functional areas as appropriate.
  2. Personalize the information that is relevant to your business units.
  3. Ask questions such as:
    • Application owners: What are the top five error types affecting my application?
    • Online store manager: How many people are affected by “Unable to display the shopping cart” errors?
    • Executives: What is the revenue at risk when customers check online fares and availability of flights? Which channels are affected?
  4. After you select the metrics to capture, use the data explorer to create views of your SLIs to add to your dashboard.
  5. If the data explorer does not provide exactly what you need, create your own NRQL queries.

For example, for an SLI based on HTTP status codes, use the following NRQL query:

SELECT count(*) FROM Transaction WHERE httpResponseCode != 200
DevOps team dashboard: NRQL example
insights.newrelic.com: Here is an example NRQL query for an SLI based on HTTP status codes.

In addition to application performance, it's also important to measure efficiency of your delivery pipeline. Key indicators of your team’s progress toward fully functional DevOps include:

  • Deployment frequency: Companies with DevOps cultures deploy code more frequently.
  • Change lead time: How quickly teams make change is a great way to measure their agility. High-performing DevOps teams average less than one hour between code commits and deploys, while traditional teams take between one to six months.
  • Mean time to recover (MTTR): Every organization has failures. Modern teams recover in minutes, not hours. Having precise measurements of MTTR helps IT managers monitor the people, processes, and technology that enable rapid recovery and head off problems before they result in significant downtime.

For more information about these metrics, review New Relic's tutorial about iterating and measuring impact.

As you gather interesting views for your first dashboard, don't overthink it. Consider this initial dashboard a discussion starter.

2. Share the first version of your dashboard

After creating a basic dashboard that charts some of the key data for your business and your team, share the dashboard with your team and other stakeholders. As you engage others for feedback, you may find metrics are missing. At the same time, do not be afraid to remove a metric that is not actionable or does not make sense.

A well-formed team dashboard can help facilitate productive daily discussions and effective collaboration across your team. Good discussion questions include:

  • Does this dashboard make sense to us?
  • Are we measuring the right things?
  • What assumptions are we making to capture this data?
  • Is what we are measuring actionable? What would we do if we were alerted on this SLI?
  • Could someone else understand this dashboard without explanation?
  • What would the CTO think if they saw this dashboard?

Also, determine how this team dashboard can be most helpful in your daily workflow. For example, check your dashboards during your daily standup to see if you need to re-prioritize their daily work.

3. Create the team dashboard

Now that you have buy-in from the team, build out a full dashboard with the widgets your team has agreed on. At the application level, your goal is to ensure that your dashboard tracks both of these criteria:

  • What is your application's health; for example, memory usage and transaction counts
  • What extent is your team achieving its business goals; for example, the number of new users, user session lengths, percent of users active, etc.
DevOps team dashboard example
insights.newrelic.com: Here is an example Insights team dashboard that shows both the app's health and the team's success with business goals.

Insights lets you create many chart types for the most logical data to track. Recommendation: At a minimum, include the following:

  • Response time: Area chart
  • Availability percentage: Billboard
  • Errors: Pie chart
  • Throughput: Area chart
  • Page views: Billboard

If your app is particularly complex, create a collection of linked team dashboards (data apps) for a curated, application-like experience. When it's complete, share the dashboard with your team and any upstream or downstream teams as appropriate.

4. Create a business performance dashboard

Your business performance dashboard will give your teams an overview of how users are experiencing your app. Most New Relic customers want to know how their apps are experienced across different cohorts, such as geographic locations or device types.

DevOps team dashboard: KPI example
insights.newrelic.com: Here is an example Insights team dashboard that shows key performance indicators (KPIs).

Companies in many industries consider the following key performance indicators (KPIs) essential to business performance. Use the following NRQL examples to build widgets for your dashboards.

Session count NRQL query

To run a NRQL query for Browser session count:

SELECT uniqueCount(session) FROM PageView
Session duration NRQL query

To run a NRQL query for Browser session duration:

SELECT average(duration) AS 'Seconds' FROM PageView FACET session
Page views NRQL query

To run a NRQL query for Browser page views:

SELECT count(*) AS '' FROM PageView
Page render time NRQL query

To run a NRQL query for Browser page rendering:

SELECT average(pageRenderingDuration) FROM PageView
Conversion funnel NRQL query

To run a NRQL query for page conversion funnel:

SELECT funnel(session,
     WHERE pageUrl LIKE 'https://newrelic.com//'/ AS 'Home',
     WHERE pageUrl LIKE 'https://newrelic.com/search#stq=apm&stp=1' AS 'Search',
     WHERE pageUrl LIKE 'https://docs.newrelic.com/docs/apm' AS 'Select')
FROM PageView
Error percentage NRQL query

To run a NRQL query for APM error percentage:

SELECT count(*) FROM Transaction WHERE httpResponseCode !='200'
Apdex NRQL query

To run a NRQL query for APM Apdex:

SELECT apdex(duration, t:0.5) FROM Transaction
DOM readiness NRQL query

To run a NRQL query for Browser DOM readiness:

SELECT average(domProcessingDuration) FROM PageView

Real customer examples

Some of New Relic's most successful customers make their dashboards visible on large screens throughout their offices. For examples, watch New Relic's "celebrity dashboard" sessions on YouTube:

For more help

Recommendations for learning more: