New Relic: Your App Performance Matters

A must-know tool for every app developer!

Ransher Yadav
Globant
7 min readJan 13, 2023

--

Photo by Carlos Muza on unsplash

New Relic is a cloud-based APM (Application Performance Management) tool. Before understanding what New Relic is, let's first understand what an APM tool is.

What is an APM Tool?

APM refers to Application Performance Management or Application Performance Monitoring and is an essential tool to help optimize and monitor the performance of your application.

Now looking at the definition, it seems like monitoring and management are the same terms; more often than not, people use them interchangeably. But there is a fundamental difference between these two terms. Monitoring is a reactive approach: you monitor your application, and when something happens, like some incident, you take some action to fix it. So this is you being reactive. However, management means to be more than monitoring. It involves observability which is a superset of monitoring. Observability is more proactive. So it does not just monitor but tries to anticipate and predict the possible incidents/errors, debugging and profiling, and dependency analysis. And New Relic, our topic for the article, is not just a monitoring tool but an Application Performance Management tool.

Need Of An APM Tool

APM relates to three keywords: application, performance, and management/monitoring. We have already talked about the management and monitoring of applications, so let's now talk about the other important term: "Performance".

Digital Experience Is Now Brand Experience

We live in the Internet era where every business has to reach the masses. A slight delay in the response from an eCommerce website could cost millions to the business. A good digital experience helps convert potential customers into regular customers. Digital experience means your system should be up and running 24/7 without even a single second of downtime. It should be highly available, highly scalable, and highly reliable. It is not just a digital experience but your brand experience because a good digital experience for your customer can make or break your business.

Just to put the above points regarding the importance of performance into a factual perspective, look at the amount of traffic business houses getting in the below image. You can see in the below image companies like Domino, Airbnb, and mlbam have a large amount of traffic coming digitally. So it becomes very important for these businesses to improve their performance, and an APM tool like New Relic helps them achieve it.

Traffic coming digitally from different websites

The image below shows how rapidly e-commerce sales through digital channels are increasing. This trend of digital sales makes it even more critical for businesses to work and improve the performance of their application/websites.

E-commerce digital sales growth

Experience Impact On Business Metrics

We have many instances where a slight delay in response has cost fortunes of losses for many businesses. Below are some for reference:

  1. Amazon saw a 1% loss in sales per 100ms of latency. (Source)
  2. Google saw a drop in visitor traffic by 20% because of a half-second delay in page load. (Source)
  3. Walmart saw up to a 2% increase in conversions for every 1 second of improvement in load time. Every 100ms improvement also resulted in up to a 1% increase in revenue. (Source)
Effect of delayed response on businesses

Now we understand the importance of New Relic. Let's see what the different features of New Relic are.

New Relic helps you to monitor, debug, and improve your entire tech stack, i.e., with the help of New Relic, you can find and fix problems in all the layers of your tech stack. It gives you complete visibility to fix performance issues at any technology layer. Below are the features and capabilities of New Relic:

1. Application Monitoring

New Relic APM is a development-time dependency you add to your backend code. It will give detailed information about your application, such as response time, throughput, and error rate wherever it runs. APM will show you the line of code where an exception was thrown, the exact database query slowing down your system, and even automatically build a map of all upstream and downstream dependencies to your application. It also tells what the five slowest transactions are. For example below image shows different parameters like web transaction time, throughput, and error rate for a web portal.

2. Infrastructure Monitoring

New Relic Infrastructure is a daemon agent that runs on your hosts and has all server-level details about the underlying infrastructure supporting your applications, such as CPU, memory, and running processes. This really helps in your application's Load/Stress/Performance testing. It lets you know how much traffic your application can handle and the number of resources used in the worst-case scenario. It also publishes all the metrics, like CPU usage, memory usage, storage usage, etc., in percentage. For example, you can check the below image where CPU usage, memory usage, and storage usage are displayed in percentage for a particular host at a particular time.

3. Logs Management

Logs are human-readable events like system startup outputs, process outputs, system failure outputs, etc. New Relic manages all these logs on a single screen. These are fast and in the context, which helps you in root cause analysis in case of any failure. For example, in the below image at time Oct 11, 11:00 PM, there are 27 logs found. All the logs are displayed with the timestamp. You can check the individual logs by clicking on them.

4. Errors Inbox

New Relic helps track and identify errors across your entire stack from a single screen. For example, you can check the below image, where the transaction name, hostname, HTTP status code, request URL, and error message everything is displayed on a single screen. It will show you the exact exception or error with the timestamp.

5. Browser Monitoring

New Relic Browser is a JavaScript library injected into your HTML documents to get detailed information about how your front-end code is executing on your users' browsers. New Relic Browser will show you JavaScript errors broken down by browser, geographic response times, and even full session traces of user engagement with your website. It Identifies slow page loads, single-page application route change issues, JavaScript errors, and more. Provide actionable code-level data to troubleshoot and resolve these performance issues quickly. Ensure your desktop and mobile websites load quickly without any errors. For example, you can see in the below image performance of your javascript page. It has different metrics like LCP(largest contentful paint), FID(first input delay), and CLS(cumulative layout shift). It also tells you how much time a user has spent on the website.

6. Mobile Monitoring

It helps in proactively monitoring crashes, errors, and latency in mobile apps. It also quickly pinpoints performance problems in your mobile apps operating in complex production environments. For example, you can check the below image where for a particular time period(here 30 min), all the statistics are displayed, like how many times different versions of a mobile app crashed, HTTP errors, and network failure rate in percentage. It also displays HTTP response time.

7. Synthetics Monitoring

New Relic Synthetics is a distributed synthetic monitoring tool that will take a URL or Selenium-style script and execute it to validate your systems as if it were a user accessing your content. It simulates global traffic to fix issues before they impact customers. It monitors service uptime and SLAs for key services from multiple global directions. It also proactively verifies key transaction success for external and internal services. For example, you can see in the below image success rate is 96.8%; 3 out of 90 checks failed. In this example, it also tells location-wise failed checks like 1 in Sydney and 2 in Paris.

8. Network Monitoring

It helps you in network monitoring like device performance, syslogs, cloud flow logs, network flows, and the health of all the agents running. It lets you know how network health and system performance impact each other.

Conclusion:

New Relic is an application performance management tool that helps you monitor your application's performance. Before deploying your application to production, you can do Load Testing, Stress Testing, and another performance-related testing of your application to check how it behaves when lots of requests/traffic is coming to it.

--

--