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
But first, let’s talk about business criticality.
What is business criticality?
Business criticality refers to the degree of importance of a particular aspect, process, system, or resource within an organization. It involves assessing how essential a particular component is to the functioning and success of the business.
Determining business criticality involves evaluating factors such as:
- Impact on operations: How significantly would the organization's operations be affected if the component were to fail or experience disruptions?
- Financial implications: What would be the financial consequences of downtime or inefficiency related to the component? This includes both direct costs (such as lost revenue or increased expenses) and indirect costs (such as damage to reputation or customer relationships).
- Compliance and regulatory requirements: Does the component play a role in ensuring compliance with industry regulations, legal requirements, or internal policies? Failure to meet these standards could lead to fines, legal issues, or damage to the organization's reputation.
- Strategic importance: How does the component contribute to achieving the organization's strategic objectives and goals? Is it crucial to gain a competitive advantage, enter new markets, or maintain market share?
- Dependency and interconnections: Is the component interconnected with other critical systems or processes within the organization or with external partners? A failure in one area could cascade and impact other business areas.
How to assess business criticality
Here's a sample scale of criticality levels to help you assess your business criticality. It's particularly useful to prioritize resources, allocate investments, and implement appropriate risk management strategies based on the criticality level of your business transactions.
Criticality Levels of Transactions
Criticality Level | Description | Criteria | Examples |
---|---|---|---|
Level 1 (Highest) | Transactions that are essential for the core operations of the organization. | Failure would result in significant financial losses, legal non-compliance, severe damage to reputation, or endangerment of human life. | Financial transactions in banking systems, healthcare record management, emergency response systems. |
Level 2 | Transactions critical for maintaining business continuity and fulfilling key operational requirements. | Failure could lead to substantial financial impact, operational disruptions, regulatory penalties, or compromised service delivery. | Order processing systems, inventory management, customer relationship management (CRM). |
Level 3 | Transactions important for supporting day-to-day operations and ensuring smooth functioning of business processes. | Failure may result in moderate financial losses, operational inefficiencies, delays in service delivery, or decreased productivity. | Employee payroll processing, email and communication systems, supply chain management. |
Level 4 | Transactions necessary for supporting non-critical functions or activities with minimal immediate impact on core operations. | Failure would cause inconvenience, minor financial losses, or temporary disruptions, but would not severely affect core business operations. | Employee expense reimbursements, non-urgent IT support tickets, internal collaboration platforms. |
Level 5 (Lowest) | Transactions with negligible impact on business operations if disrupted or delayed. | Failure would have minimal financial impact, limited operational consequences, and could be easily managed or mitigated. | Employee training registrations, non-essential system updates, personal file storage. |
Business transaction monitoring
Another crucial aspect of business criticality is business transaction monitoring. It enables organizations to analyze transactional data to ensure processes are performing as expected and to identify any deviations, anomalies, or issues that may arise. Business transaction monitoring offers several benefits to organizations, including:
-
Real-time visibility: Monitoring business transactions in real-time provides organizations with immediate insight into the performance and health of critical processes.
-
Early detection of anomalies: Transaction monitoring systems can detect unusual patterns or deviations from normal behavior, which may indicate potential fraud, security breaches, or operational errors.
-
Improved decision-making: Leaders can use transaction monitoring insights to optimize resource allocation, identify opportunities for process improvement, and make strategic decisions that drive business growth and competitiveness.
-
Enhanced compliance: Many industries are subject to regulatory requirements and compliance standards related to data security, privacy, and financial transactions. Business transaction monitoring helps organizations ensure adherence to these regulations by providing audit trails, compliance reports, and alerts for suspicious activities.
-
Optimized resource utilization: Transaction monitoring insights enable organizations to identify inefficiencies, streamline processes, and optimize resource utilization.
-
Customer satisfaction: Business transaction monitoring helps ensure smooth and reliable customer interactions by minimizing errors, delays, and service interruptions. This enhances customer satisfaction, loyalty, and retention, ultimately driving revenue growth and profitability.
Now, let’s look at how to monitor your business-critical 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.
Next steps
Get started viewing your business critical transactions by signing up for New Relic for free or making one of your existing transactions in New Relic a key transaction.
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.