You can filter your New Relic dashboards by faceted attributes, making your dashboards more interactive and easy to use.
Why use facet filtering?
For our dashboards, any NRQL queries containing a
FACET clause and meeting other chart-type requirements, you can set up the faceted attributes to filter the current dashboard or a related, linked dashboard. By letting you quickly filter your dashboards, and link to pre-filtered dashboards, your dashboards are more interactive and easy to use.
This feature is available when adding a new chart to a dashboard or when editing a chart on an existing dashboard.
To see this feature in action, see the example use case.
Requirements to use this feature:
- Must use a New Relic dashboard. Will not work on a standalone chart in the query builder.
- NRQL query must contain a
- Available only for bar charts, heat maps, pie charts, and tables.
Example use of facet filtering
Let's say you create the following facet-containing NRQL query for an existing dashboard in the UI:
one.newrelic.com > All capabilities > Dashboards: For queries containing a
FACET clause and meeting chart-type requirements, you can set those attributes to be used as an easy dashboard filter. You can set the attribute to filter the current dashboard you're on, or filter a related dashboard that you select.
If you select Filter the current dashboard, that chart will be used to filter the current dashboard by the available
userAgentName attributes. Here's a view of selecting one of those attributes to filter that dashboard. Notice that the chosen attribute appears as a filter in the search bar at the top.
one.newrelic.com > All capabilities > Dashboards: When you select an attribute you've set up for facet filtering, it filters the current dashboard.
For more about this feature, see the Support Forum post on facet filtering.
Facet linking with the FACET CASES clause
FACET CASES is a NRQL function that allows to group facets based on conditions. We support multiple cases in the same facet.
Let's say you want to query some data and put the responses into mnemonic categories for a dashboard or report. This syntax will allow you to query based on transaction duration and put the results into two categories: ACCEPTABLE and UNACCEPTABLE. This can be really useful for making dashboards more human readable and actionable.
SELECT filter(count(*), WHERE duration > 1) as 'UNACCEPTABLE', filter(count(*), WHERE duration <=1) as 'ACCEPTABLE' FROM Transaction FACET appName LIMIT 5 since 5 minutes ago
By using FACET CASES, we can more efficiently use multiple complex conditions to generate a set of custom facets. Building on the previous example, let's say we want to include a compound condition which excludes errors from our duration data and adds them into a third category:
SELECT count(*)FROM Transaction FACET CASES (where duration > 1 and error is NULL as 'UNACCEPTABLE', where duration <= 1 and error is NULL as 'ACCEPTABLE', where error is not NULL as 'ERROR') since 5 minutes ago
Then, using facet linking, you can filter your dashboards by those facets.