Engineering teams use application performance monitoring (APM) tools to swiftly resolve questions and to detect and solve problems before they impact their users. Legacy APM solutions typically report on the aggregate performance and errors of all transactions. But not all transactions are created equal. Sometimes the most important functions aren’t the ones heavily trafficked, even when they are key to running your digital business. Key transactions help you track the most important transactions that you want to monitor and manage—regardless of the overall application throughput.  

Key transactions are now a part of the New Relic entity ecosystem. This means you can visualize your business critical transactions in the context of all other related entities to quickly isolate and find root cause issues. Unlike a “bag of metrics” monitoring approach from legacy monitoring solutions that generates data in isolation without meaningful context, the New Relic all-in-one observability approach lets you know about every entity in your system that’s generating data, as well as how it relates to all the other things you need to track. Now you can speed up troubleshooting, plan changes with confidence, and pinpoint where to optimize performance for the biggest impact on customer experience and your key business outcomes. 

In this post we’ll walk you through the steps to set up, monitor, and analyze your business critical key transactions in New Relic. You’ll learn how to:

  • Quickly identify and respond to issues that impact uptime and reliability.
  • Ensure engineering excellence on key services by tracking and alerting on changes that impact your business.
  • Deliver on business agreements and customer satisfaction by defining service levels against your key business transactions

Set up your business critical transactions for monitoring 

Let’s think about a scenario where a customer logs in to an e-commerce application to purchase a phone. The customer experiences slow response when trying to load the plans page to browse the services being offered. This results in the customer leaving the site and abandoning the purchase. The PlanService microservice team needs to quickly identify the root cause of this slowdown and fix it to avoid losing more customers. 

The team starts by identifying PlanService’s most important business transaction: getPlans (which loads the plans page). Then they need to set it up as a key transaction for monitoring. 

1. Create a key transaction.

To make getPlans a key transaction, select Make key transaction in the transaction details view. You can also automate this step by using the REST API to both create and  stop tracking key transactions. 

This screenshot shows the details of the getPlans transaction and the option to Make key transaction.

After creating key transactions, they become part of the New Relic entity ecosystem, and you should be able to see all the transactions ( including the getPlans key transaction below) under the entity list view.  

You can also see all your Key Transactions from all accounts in one place.  Select All entities and then Key Transactions, as shown in this example: 

In this view, you can filter to display a set of accounts or one account, as needed.

2. Tag your key transaction. 

To organize and filter the key transactions so you can quickly determine the teams, environments, or the priority levels, add a tag to your key transactions. These tags also provide context so you can isolate the issue when you get an alert notification.

In this example screenshot, you can see the getPlans key transaction has four tags associated with it. The environment tag indicates that this key transaction belongs to an entity in the production environment, which is useful for isolating and filtering issues that are specific to a particular environment.

3. Add your key transaction to a workload.

In New Relic, you can use workloads to group together entities that make up a specific business service. This grouping makes it easier to isolate and troubleshoot issues.  Add your key transactions to workloads along with the related services and hosts, so you can get an aggregated view of the health and activity of the entities that make up your stack.

This example screenshot shows a comprehensive workload view of the getPlans key transaction with all the other related entities.

4. Set up alerts for a key transaction.

Now that your key transaction is part of a workload and tagged, the next step is to create alerts so you’re notified when there is any unusual behavior in your transaction. You can set up both baseline alerts and anomaly alerts on key transactions using the powerful and flexible NRQL alerting system and now you can also add your key transactions to dashboards. To set up alerts or add the key transactions to dashboards you can do so directly from the key transaction charts by clicking the ellipsis.

Key transaction metrics are just aliases of the originating transaction metrics, so no additional data is used. After creating the key transaction, you’ll have the full retention of the originating transaction, and when you stop tracking, the metrics will simply disappear. Using key transactions is clean and simple, and with no additional data, there’s no billing impact.

5. Create service levels for key transactions.

In addition to alert thresholds, you can also measure the performance from your application users’ point of view. Just set up service levels against the business key transactions, as shown in this example:

Analyze and debug issues with your business critical transactions

Now that you’ve created and set up the getPlans key transactions, the next step is to monitor it.  When the customer experienced slowness loading the plans page there was an alert notification, as well as deviations in the key transaction’s response time. 

1. To quickly analyze deviations in all your key transactions, you can start with New Relic Lookout. This provides a real-time view of your transactions across all your accounts, highlighting changes in all of your telemetry. In this example, you can see the getPlans transaction shows an increase in response time:

2. When you select the getPlans key transaction from the Lookout view, you’ll see a detailed analysis. In this example, you can see the response time has spiked up 173% in the last 5 minutes.

3. When you drill down into the getPlans key transaction further, you can use the activity stream to understand what has changed in your system. The stream includes recent events like alerts and deployments that affect your transaction.

4. To track the impact of any change event, such as code deployments, configuration changes, and business events, you can use the change tracking markers on the key transaction charts. This helps you drill down further in the trace to troubleshoot the changes that are causing issues.

In the next example screenshot, you can see a spike in the getPlans transaction time right after a deployment for optimizing a database query. This helps you trace back the problem to the deployment. In this example, when we reverted the change, the transaction time went back to normal and the plans page started loading quickly.

5.   To understand the complete impact of the getPlans transaction performance degradation,  you can use a service map, as shown in this next screenshot. You can visualize the health of all the other connected entities like the originating service, hosts, databases and other key transactions.

By setting up your transactions like getPlans as key transactions, you can use the telemetry and context provided by the New Relic all-in-one observability platform. Then you can quickly troubleshoot and optimize the performance of your business critical transactions that impact customer experiences and business outcomes.

More to come on key transactions 

More goodness is coming your way for using New Relic key transactions. In the next weeks and months we're looking to evolve key transactions to make it easier for you to automatically detect business critical transactions, view key transactions in the context of distributed tracing, get more traces for debugging. This also includes generating scalability reports to help you identify if you are ready for your biggest commerce days like Black Friday or holiday shopping. And all are part of the one observability platform to run your digital business.

If you have any feedback about using key transactions in New Relic, select the feedback button in the top navigation in New Relic and send us your valuable suggestions.