Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Browser Dashboard - Segment Whitelist Investigation

browser
shared-dashboards

#1

Dashboard of the Day: Segment Whitelist Investigation

Motivation

If you’ve ever asked yourself “what are these * symbols doing in my Page View names?!” and gone through the process of adding segments to the Segment Whitelist, you know that getting it perfected can take a bit of work. What segments should I add? What did I miss that I should have added? How many apps need segments added to them?

This dashboard helps you answer all of those questions and some you probably didn’t think of! This dashboard shows which apps have Page View crushing happening and important statistics, the most useful segments that you should be adding, and common scenarios to help you set segment whitelists for success.


Screenshot

NOTE: We blurred out some of the data because some information is private. However, you can still see how the dashboard would look and leverage the queries in your own environment. If you’d like to contribute a screenshot, but have concerns about exposing private data, we can work with you to blur out some of the private data. If you have questions, don’t hesitate to message us and we’ll do our best to help you participate.

Dashboard Details

Required Products: Browser
Level of Effort: Low
This dashboard will work on the standard New Relic data models and does not require any custom attributes or events.

Settings
Use the gear button to edit your dashboard and configure the following settings:

  • Dashboard Filter: Enabled
  • Enabled Event Types: PageView
  • Enabled Attributes: appName, pageUrl

Chart Details

In this section, we’ll go into the details on the purpose of each of the charts. We’ll also show you the query (NRQL) that you can cut/paste into your Insights query bar.

Total Page Views By App Name

Pie Chart Setting

SELECT count(*) from PageView facet appName since 7 days ago

Total number of Page Views recorded for the given time period. Helps you identify your apps with the most Page View events, which are likely to be the most important for making sure you have effective naming occurring. Hover over each radial component for individual app count.

Add a Chart Facet for extra functionality!

Chart Facets expands the ability to quickly scope down into data by being able to click on an attribute and have the entire dashboard facet by that data point. Add this to the chart by doing the following:

  1. Run the NRQL query and save the chart to your dashboard.
  2. Open the menu in the newly created chart by clicking the ellipses in the top right corner and select “Edit Chart”.
  3. Click the blue button labeled “Link facets to a dashboard”, select the “current dashboard” option, and click Save.

Total Crushed Pages By App Name

Pie Chart Setting

SELECT count(*) from PageView where browserTransactionName LIKE '%*%' facet appName limit 10 since 7 days ago

Total number of Page Views that have at least one crushed segment. Compare with Total Page Views By App Name chart to see overall crushed page views percentage. Hover over each radial component for individual app count.

Add a Chart Facet for extra functionality!

Chart Facets expands the ability to quickly scope down into data by being able to click on an attribute and have the entire dashboard facet by that data point. Add this to the chart by doing the following:

  1. Run the NRQL query and save the chart to your dashboard.
  2. Open the menu in the newly created chart by clicking the ellipses in the top right corner and select “Edit Chart”.
  3. Click the blue button labeled “Link facets to a dashboard”, select the “current dashboard” option, and click Save.

% Crushed Page Views By App Name

Bar Chart Setting

SELECT percentage(count(*), where browserTransactionName like '%*%') from PageView facet appName since 7 days ago

Shows what percentage of Page Views are having at least one segment crushed, sorted by app name. Apps with a high percentage should be investigated for segments to add. Search by app name on this dashboard to narrow down data to a specific app.

Add a Chart Facet for extra functionality!

Chart Facets expands the ability to quickly scope down into data by being able to click on an attribute and have the entire dashboard facet by that data point. Add this to the chart by doing the following:

  1. Run the NRQL query and save the chart to your dashboard.
  2. Open the menu in the newly created chart by clicking the ellipses in the top right corner and select “Edit Chart”.
  3. Click the blue button labeled “Link facets to a dashboard”, select the “current dashboard” option, and click Save.

Page Views With Crushed URLs

SELECT count(*) from PageView where browserTransactionName LIKE '%*%' facet browserTransactionName, pageUrl limit 100 since 7 days ago

Shows the most frequently viewed url’s that have at least one of the segments being crushed, along with the full uncrushed url. Frequently viewed pages are likely to be important, so including static segments to the whitelist(i.e. “search” in www.example.com/search) that are currently being crushed is a good idea. Expand to see the count of viewed pages for each of the entries listed.

% Page Views With Crushed URLs

Gauge Chart Setting

SELECT percentage(count(*), where browserTransactionName like '%*%') from PageView since 7 days ago

A visual representation of the Page Views With Crushed URLs chart. Gives an idea of what percentage of PageView events on the app have at least one segment being crushed. Ideal numbers will vary based on the app being monitored, but an average of 60-70% is ideal - higher indicates too much crushing of segments could be happening, lower indicates that not enough segments are being crushed and data will be less effective for monitoring trends and app performance.

Severely Crushed Page Views

SELECT count(*) from PageView WHERE browserTransactionName LIKE '*.*.*%/%' or browserTransactionName LIKE '%.%.%/*/*/*/%' or browserTransactionName LIKE '%.%.%/*/*/*' or browserTransactionName LIKE '%.%.%/*/*/%' FACET browserTransactionName, pageUrl limit 100 since 7 days ago

Shows the most frequently viewed pages that are considered to be severely crushed and are likely not contributing useful information. Severely crushed URLs fall into one of three categories:

  • All three domain segments are being crushed (i.e. www, example, and com)
  • The first three segments after the domain are being crushed with or without follow up segments (i.e. www.example.com/*/*/* or www.example.com/*/*/*/...)
  • The first two segments after the domain are being crushed with follow up segments (i.e. www.example.com/*/*)
    These severely crushed pages should be reviewed for potential segments to be added to the whitelist to make these more useful. Expand to see the count of viewed pages for each of the entries listed.

% Page Views Severely Crushed

Gauge Chart Setting

SELECT percentage(count(*), WHERE browserTransactionName LIKE '*.*.*%/%' or browserTransactionName LIKE '%.%.%/*/*/*/%' or browserTransactionName LIKE '%.%.%/*/*/*' or browserTransactionName LIKE '%.%.%/*/*/%') FROM PageView since 7 days ago

A visual representation of the Severely Crushed Page Views chart. Gives an idea of what percentage of PageView events are considered to be severely crushed. Because crushed URLs like this usually do not provide useful information, it’s recommended to keep this number as low as possible. Ideal numbers will vary based on the app being monitored, but 5% or less is ideal.

Crushed Domain Segments

SELECT count(*) from PageView WHERE browserTransactionName LIKE '*.%.%:%' or browserTransactionName LIKE '%.*.%:%' or browserTransactionName LIKE '%.%.*:%' FACET browserTransactionName, pageUrl limit 100 since 7 days ago

Shows the most frequently viewed pages that have at least one segment of the domain of the url being crushed. Many times domain segments can be crushed that should actually be saved, such as “www” and “com” that are important and should actually be saved. If you see very frequently viewed pages with domain segments crushed, it would be a good idea to add these to the segment whitelist.

This is not the case with all domain segments and the type of browser app should be considered for what to save(domain names, org, edu for example) and not to save(language suffixes such as .us, .ru, .ch for example) depending on your use case.

% Page Views With Crushed Domain Segments

Gauge Chart Setting

SELECT percentage(count(*), WHERE browserTransactionName LIKE '*.%.%:%' or browserTransactionName LIKE '%.*.%:%' or browserTransactionName LIKE '%.%.*:%') from PageView since 7 days ago

A visual representation of the Crushed Domain Segments chart. Gives an idea of what percentage of PageView events on the app have at least one segment of the domain being crushed. Ideal numbers will vary based on the app being monitored, but an average of 5% or less is ideal when a single domain is being monitored by the app.


Extra Credit - Share your dashboard with the community!

Want to be a super “NeRD” (New Relic Developer)?
Use the API Explorer (or our Postman collection) to load the dashboard definition below into Insights or share the definition of your dashboard and increase your international NeRD cred! (And you’ll earn a cool badge for your community profile!)
Here’s some quick tips on how to do this.

Dashboard Definition

{
  "dashboard": {
    "title": "Segment Whitelist Investigation",
    "description": null,
    "icon": "flag",
    "visibility": "all",
    "editable": "editable_by_all",
    "metadata": {
      "version": 1
    },
    "widgets": [
      {
        "visualization": "facet_pie_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 1,
          "column": 1
        },
        
        "data": [
          {
            "nrql": "SELECT count(*) from PageView facet appName since 7 days ago"
          }
        ],
        "presentation": {
          "title": "Total Page Views By App Name",
          "notes": "Total number of Page Views recorded for the given time period. Hover over each radial component for individual app count."
        }
      },
      {
        "visualization": "facet_pie_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 1,
          "column": 2
        },
        "data": [
          {
            "nrql": "SELECT count(*) from PageView where browserTransactionName LIKE '%*%' facet appName  limit 10 since 7 days ago"
          }
        ],
        "presentation": {
          "title": "Total Crushed Pages By App Name",
          "notes": "Total number of Page Views that have at least one crushed segment. Hover over each radial component for individual app count."
        }
      },
      {
        "visualization": "facet_bar_chart",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 1,
          "column": 3
        },
        "data": [
          {
            "nrql": "SELECT percentage(count(*), where browserTransactionName like '%*%') from PageView facet appName since 7 days ago"
          }
        ],
        "presentation": {
          "title": "% Crushed Page Views By App Name",
          "notes": "Shows what percentage of Page Views are having at least one segment crushed, sorted by app name. Click an app name to drill down into that app's information."
        }
      },
      {
        "visualization": "facet_table",
        "layout": {
          "width": 2,
          "height": 1,
          "row": 2,
          "column": 1
        },
        "data": [
          {
            "nrql": "SELECT count(*) from PageView where browserTransactionName LIKE '%*%' facet browserTransactionName, pageUrl limit 100 since 7 days ago"
          }
        ],
        "presentation": {
          "title": "Page Views With Crushed URLs",
          "notes": "Shows the most frequently viewed url’s that have at least one of the segments being crushed, along with the full uncrushed url."
        }
      },
      {
        "visualization": "gauge",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 2,
          "column": 3
        },
        "data": [
          {
            "nrql": "SELECT percentage(count(*), where browserTransactionName like '%*%') from PageView since 7 days ago"
          }
        ],
        "presentation": {
          "title": "% Page Views With Crushed URLs",
          "notes": "A visual representation of the Page Views With Crushed URLs chart.",
          "threshold": {
            "red": 100
          }
        }
      },
      {
        "visualization": "facet_table",
        "layout": {
          "width": 2,
          "height": 1,
          "row": 3,
          "column": 1
        },
        "data": [
          {
            "nrql": "SELECT count(*) from PageView WHERE browserTransactionName LIKE '*.*.*%/%' or browserTransactionName LIKE '%.%.%/*/*/*/%' or browserTransactionName LIKE '%.%.%/*/*/*' or browserTransactionName LIKE '%.%.%/*/*/%' FACET browserTransactionName, pageUrl limit 100 since 7 days ago"
          }
        ],
        "presentation": {
          "title": "Severely Crushed Page Views",
          "notes": "Shows the most frequently viewed pages that are considered to be severely crushed and are likely not contributing useful information."
        }
      },
      {
        "visualization": "gauge",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 3,
          "column": 3
        },
        "data": [
          {
            "nrql": "SELECT percentage(count(*), WHERE browserTransactionName LIKE '*.*.*%/%' or browserTransactionName LIKE '%.%.%/*/*/*/%' or browserTransactionName LIKE '%.%.%/*/*/*' or browserTransactionName LIKE '%.%.%/*/*/%') FROM PageView since 7 days ago"
          }
        ],
        "presentation": {
          "title": "% Page Views Severely Crushed",
          "notes": "A visual representation of the Severely Crushed Page Views chart. ",
          "threshold": {
            "red": 100
          }
        }
      },
      {
        "visualization": "facet_table",
        "layout": {
          "width": 2,
          "height": 1,
          "row": 4,
          "column": 1
        },
        "data": [
          {
            "nrql": "SELECT count(*) from PageView WHERE browserTransactionName LIKE '*.%.%:%' or browserTransactionName LIKE '%.*.%:%' or browserTransactionName LIKE '%.%.*:%' FACET browserTransactionName, pageUrl limit 100 since 7 days ago"
          }
        ],
        "presentation": {
          "title": "Crushed Domain Segments",
          "notes": "Shows the most frequently viewed pages that have at least one segment of the domain of the url being crushed."
        }
      },
      {
        "visualization": "gauge",
        "layout": {
          "width": 1,
          "height": 1,
          "row": 4,
          "column": 3
        },
        "data": [
          {
            "nrql": "SELECT percentage(count(*), WHERE browserTransactionName LIKE '*.%.%:%' or browserTransactionName LIKE '%.*.%:%' or browserTransactionName LIKE '%.%.*:%') from PageView since 7 days ago"
          }
        ],
        "presentation": {
          "title": "% Page Views With Crushed Domain Segments",
          "notes": "A visual representation of the Crushed Domain Segments chart.",
          "threshold": {
            "red": 100
          }
        }
      }
    ],
    "filter": {
      "event_types": [
        "PageView"
      ],
      "attributes": [
        "appName",
        "pageUrl"
      ]
    }
  }
}

Relic Solution: Sharing Dashboards