You can now see the number of users impacted by an error group which allows you to focus your effort on the highest impacting error groups. Users impacted are listed next to the occurrences metric in the list view. You can also set up Alerts for error groups impacting more than a certain number of users.
User impact metrics are collected automatically if your error events have an attribute identifying the end user.
For agents that don’t natively support adding a user identifier to telemetry, we recommend adding a custom attribute and following OpenTelemetry's convention attribute for identity attributes, which is
enduser.id. The process of sending custom attributes to New Relic is detailed here.
Attribute conventions to capture users impacted
There are multiple common conventions for naming end user attributes.
First, we'll check for
enduser.id according to the OpenTelemetry standard. Then we'll use the following attributes in order of priority:
Querying for users impacted
The number of users impacted on an error group is recorded as a Metric data type with the name
newrelic.error.group.userImpact. One can use metric with the following NRQL string:
SELECT uniqueCount(newrelic.error.group.userImpact) FROM Metric WHERE metricName='newrelic.error.group.userImpact'
The metric captures the approximate number of unique users in the time period selected. Additional attributes provided by the userImpact metric which can be used in a FACET clause are
Alerting on users impacted
By creating an NRQL alert condition, developers can trigger alerts when the amount of Users impacted by errors exceeds a threshold.
Creating this alert requires determining the NRQL query which measures the amount of users impacted in a way which best captures your use case.
As an example, the following NRQL query measures the amount of unique users which have been impacted by an error group coming from a specific entity:
SELECT uniqueCount(newrelic.error.group.userImpact) FROM Metric WHERE metricName='newrelic.error.group.userImpact' AND entity.guid=’RXxCUk9XU9182nNEFQUExJQ0FLsU9OfDgzNzgwNw’ FACET error.group.guid TIMESERIES
Read more about using the uniqueCount() function, how to find the entity id for your entities.
Similarly, the following NRQL query measures the total number of users impacted by errors from all entities under the account in the last hour:
SELECT count(newrelic.error.group.userImpact) FROM Metric WHERE metricName='newrelic.error.group.userImpact' SINCE 1 hour ago TIMESERIES
Once you have decided on a NRQL query, it can be used to create a NRQL alert condition.
To improve the signal to noise ratio of your triggered alerts see alert creation tips, how alert thresholds are evaluated, and alert condition examples.
Set users impacted with setUser method
You can use an agent method to identify an end user. See implementation details for each agent below: