APM custom event and attribute design for a web API

I’d like to understand the best practices for using custom events and attributes. We have a large scale enterprise application that serves upwards of 60K req/min. We use New Relic, but have not utilized much outside of what the agent provides out of the box. We do extensive logging with SumoLogic. Here are my questions:

What types of data are typically recorded with custom events/attributes? Is it intended to be used for monitoring of performance, alerting, and tracing (implying that we should record only error or potential error states)?

Or would it be in line with best practices to record all requests (this would be a large amount of data, somewhat redundant with Sumo) in order to enable metrics/analysis via data explorer?

Or is it something in between (identify potentially useful events only, including error/warn states)?

Hi, @Alireza.Jazayeri: New Relic’s APM agents are designed to provide the data you need for monitoring and troubleshooting out of the box; in most cases, you should not need custom events and attributes for these tasks.

In my experience, customers typically use custom events and attributes for business data: which products are people purchasing the most, what is the average purchase amount, who is spending the most money, etc.

Is there some performance and troubleshooting information that you’re not currently getting from the agent?

It was proposed that it would be nice to be able to correlate transaction traces in the APM with a customer/user. The APM view in New Relic has a small suggestion label that indicates custom attributes are the mechanism for doing this. My concern is whether this volume of data is appropriate to collect, such that every transaction has this basic info recorded.

Hi there @Alireza.Jazayeri -

You would definitely want to be sure that you get specific about what data you bring into the platform with customer instrumentation. Luckily you can get very detailed about what data you include. If you let me know what language agent you are using I can point to some more specific documentation.

This topic was automatically closed after 365 days. New replies are no longer allowed.