New Relic vs. Sentry vs. Scout
In the digital economy, software applications have become a primary product for a large number of companies. On top of that, customers expect a flawless user experience from the applications as it evolves.
To provide such a great experience, companies need to have powerful performance monitoring across their applications. We will discuss APM tools that are popular in the market right now and compare them in different aspects.
Feel free to use these links to navigate the guide:
- Overview of Differences
- Comparing Core Product Features
- Usability
- Dashboards & User Interface
- Third-Party Integrations
- Installation Comparison
- Product Support
- Recap
Overview of Differences
Sentry provides distributed transaction tracing with custom queries. It helps to track cross-project issues in a single dashboard view. Though it offers many features, its user experience is not the most beginner-friendly, and it has a learning curve to understand the dashboard and functionalities. In addition, Sentry lacks alert configuration; it lacks multiple logical grouping within the ‘if’ section of configurable alert.
Let’s talk about New Relic features and their limitations. First, it provides an easy setup for real-time instrumentation and analytics, mapping application performance to the end-user experience, and error analysis with on-demand analytics tools. In addition, it has better root cause analysis as it helps to analyze root cause through the flow of events for a particular process. When it comes to limitations, New Relic is expensive. For example, storage can be costly, especially if you keep the data for more than three months. In addition, on testing the New Relic integration with Node.js, transaction traces by default don't have much data.
Finally, let’s discuss Scout APM features, and it’s limitations. First, it provides detailed insights on application performance directly on the dashboard. For example, it identifies slow database queries, N+1 database queries, and memory bloat. It has better transaction traces by breaking down memory allocation in addition to timing metrics. As a result, Scout APM can easily backtrace slow method calls to identify performance bottlenecks.
Some of the limitations of Scout is that it provides agents mainly for Ruby, Elixir, Python, PHP, and Node.js applications. If you have applications running on Java, .NET, Go, Android and Dart, there is no agent out of the box.
Comparing Core Product Features
Let’s begin our comparison by discussing the core features of the APM tools in detail.
New Relic’s Features
New Relic has some core features that are among the primary features for some modern applications. Some of New Relic’s top core features include real-time instrumentation, tracking from performance to end-user experience, real-time error analysis, etc. Let’s discuss the features of New Relic in detail below.
Real-time Instrumentation and Analytics
New Relic is easy to set up, and it provides a standard dashboard out of the box. The dashboard provides essential metrics such as response time, throughput, error rate, and transactions. The analysis provides a clear understanding of the whole system’s performance.
New Relic helps you to understand your system performance. However, a drawback with profiling in New Relic is that the system load spikes when crushing data in the background. Another important feature of New Relic is handling microservices at the enterprise level. It uses the Service Maps feature to provide customizable dependency mapping across services.
Mapping Application Performance to the End-user Experience
New Relic clearly analyzes end-user experience through real-user monitoring, synthetic monitoring, and mobile app performance analysis.
It’s essential to track how many metrics change for each code deployment. New Relic provides a Deployment Marker to describe the impact of these code changes on your application. It’s important because you need to understand it for better business decision-making.
Real-Time Error Analysis With On-demand Diagnostic Tools
An APM tool’s essential function is to help the developer quickly understand the potential source of that issue and debug to find a solution when a problem occurs. New Relic agents provide the ability to analyze errors using an error stack trace, a message, and the specific line of code that’s wrong.
It provides a diagnostic tool such as Thread Profiler, which offers functionality to see periodic sampling in real application traces.
Sentry’s Features
Sentry is a self-hosted, cloud-based application monitoring service that helps software teams discover, triage, and prioritize errors in real-time. Some of the core features of Sentry include custom queries for distributed tracking, tracking cross-project issues, tracing deployment and releases with necessary context, etc.
Custom Queries
Sentry provides a query builder to construct custom queries to analyze the issues in a better way. For example, you can build custom queries on top of tags to analyze the issues and transactions.
Custom Dashboard
Sentry lets you build a custom dashboard to provide a personalized experience for issues and performance analysis of your application. Custom dashboard helps track release frequency, issues by customer or region, or any other custom queries possible. On top of the custom dashboard, you can also create custom widgets/charts to show project-specific data on the dashboard.
Cross-project Issues
Sometimes, an issue or performance bottleneck in one project can be related to another service or project. Sentry allows you to track it from one place instead of navigating between projects back and forth.
Deep Context
Sentry provides the necessary context to find and fix errors. In addition, it tracks each commit and tags to separate issues and performance bottlenecks that help fix the errors quickly.
Scout’s Features
Scout provides performance monitoring for Rails, Ruby, Python, Nodejs, PHP, and Elixir applications. Some of its core features include in-depth performance analysis, efficient transaction traces, and database monitoring.
In-depth Performance Analysis
Scout APM provides an algorithmic agent that digs through your application and provides in-depth analysis and insights. For example, it provides analysis on
- Slow database queries
- N+1 database queries
- Memory bloat
Efficient Transaction traces
Transaction traces analyze time spent on a single web request or execution of a single background job. When tracing transactions, Scout provides a complete breakdown of memory allocation and timing metrics crucial to analyzing the performance bottleneck.
On tracing SQL Queries to monitor the database performance, Scout indicates the row count returned by SQL queries which helps us monitor the database. Another essential feature is backtracking slow requests. There may be various reasons for a slow API request. Scout helps to backtrace it and eases the process of locating the performance bottleneck.
Database Monitoring
Monitoring a database is crucial for application performance. For example, an expensive query may cause other queries to run slower. So, it’s important to monitor and analyze them before they significantly impact our application.
- New Relic and sentry show metrics for expensive database queries. While it is good on a higher level, you also need to understand how each query performs so that you can optimize it. Scout charts display metrics for all queries and not just about expensive queries.
- Scout focuses on ActiveRecord metrics. At the same time, New Relic monitors beyond ActiveRecord. (Active Records provides an abstraction layer between code and data. So that we don’t need to write raw SQL queries. Object-relational mapping(ORM) uses this pattern).
- In Scout, it’s easy to compare a small slice’s performance with an average performance metric.
Error Monitoring Add-On
Scout provides a feature to monitor errors that allow developers to debug issues faster. Error Monitoring in Scout dashboard provides two categories. i.e., Error by Type and Error by Endpoint.
It also lists all the Issues along with the details for it. One of the main features of Scout Error monitoring is providing Error reporting and Application Monitoring data in one dashboard.
It includes
- Full-stack tracing.
- Requests and custom params.
- Monitoring error rates.
- Intelligent error grouping.
- GitHub integration for backtraces.
- Search functions.
- Real-time alerts via email.
Scout Error monitoring is currently available only for ruby applications. Support for other languages is coming soon.
Usability
Usability is an attribute that determines how easy an app is to use. It determines how easy & pleasant the features are to use in the APM tool. If a tool is difficult to use or users feel lost while moving through it, they start to leave. So, it is crucial to understand the user experience and use the right tool for yourself.
New Relic Usability
New Relic is clean and simple to set up and provides a quick overview of the application's performance. It has a feature called 'VM' that provides information regarding garbage collection, heap, memory and object allocation. For developers, it helps to monitor and debug queries and processes in an efficient way.
Even though it provides a quick overview with a simple setup, customizing the dashboard and view can become overwhelming once the application data starts to grow. It has a learning curve to learn about the view and metrics.
Sentry Usability
Sentry UI is best for handling cross-projects in a single dashboard. It is also easy to create issues in GitHub and plots as per application or website. Another important feature of sentry is the ability to integrate multiple reports to create a custom one from multiple projects.
Although it seems to be better at handling multiple projects, the project setup UI is not intuitive. Handling events and errors need improvement. For example, if the same error occurs hundreds or thousands of times, it would be helpful to filter out single events by the operating system or device model instead of just general error filtering.
It’s hard to limit the project visibility based on the user. Other teams have a view on all the company projects. Also, the UI for managing teams and users is not always intuitive.
Scout Usability
Scout is the most developer-friendly performance monitoring tool. One of the primary advantages of Scout is its simplicity. The dashboards are simple and easy to use. It is so easy to navigate between different metrics such as throughput, errors, memory, and apdex score. It provides primary insights into the main dashboard itself, which comes in handy.
Sometimes, the advantages of Scout can become a disadvantage. Due to Scout’s streamlined performance insights, not all metrics for all web endpoints can be ingested. However, all important metrics and insights needed for actionable insights are clearly and intuitively visualized.
Dashboards & User Interface
Data Visualization is crucial to understand what kind of data a tool collects. It is as important as data collection, monitoring, etc.
A simple user interface directly relates to better navigation. Therefore, it is important for an APM tool to have a simpler UI and navigation across data and projects.
Sentry Dashboards
Sentry dashboard provides data visualization of errors and transactions throughout the organization. It has a custom view to keep a pulse on most of the critical parts of business. It navigates to trace the errors using different filters such as by URL etc.
Dashboard
The dashboard shows a number of errors, issues, and events. It also displays handled and unhandled issue counts along with affected users.
Performance & Transactions
The performance page shows the summary of transaction traces and a list of the transaction. Upon selecting the transaction, you can view your Apdex score, event, and more details about this particular transaction.
Issues & Alerts
The issues page on the dashboard displays issues in three categories.
- Unresolved
- For Review
- Ignored
Selecting the issue shows the particular code in the codebase where the problem happened. It also shows the commit details along with transaction traces.
New Relic Dashboards
Here are some of the most striking features of dashboards provided by New Relic:
Dashboard
Web transaction time shows the time it took for each transaction. On the top right, you have Apdex score (user satisfaction), throughput, etc.
In the middle, you get details about each transaction and its response time. Finally, the error rate shows the overall error rate and its average.
Transaction Traces
New Relic provides cross-application tracing if your app is dependent on another application you have monitored with NewRelic. This includes a list of expensive transactions and their details.
Web Endpoints
It shows all the web endpoints and their resource consumption. It also shows the top 5 web transactions and their throughput.
When you click on the web endpoint, it details its performance breakdown, throughput, and transaction traces. In addition, a histogram displays the details about transaction response time.
Database Monitoring
Database Monitoring shows the full database operation by its time consumption, query time, and throughput. You can sort the database queries by most time consumed.
Scout Dashboards
Scout offers some of the simplest yet most powerful dashboards in the market. Here are some of the most important features of Scout’s dashboards:
Dashboard
Scout dashboard shows the overview of different categories. They are,
- Response time
- Throughput
- Errors
- Memory consumption
- Apdex Score
Scout digs through the data and generates great insights into application performance. For example, it provides metrics and insights on slow database queries, N+1 database queries, and memory bloat.
Transaction Traces
Scout provides a breakdown of memory allocation to time metrics. If there are any slow method calls, Scout backtraces it to troubleshoot, and it displays in the dashboard and the code. It also breaks down the time spent on custom code.
Web Endpoint
It displays the overview of the API endpoint in list format. In addition, it provides a filterable and sortable view.
When you click on a specific endpoint, it provides memory allocation metrics and a detailed transaction trace listing (up to 10 per minute).
Database Monitoring
Monitoring a database is crucial for application performance. Scout provides charts that display data across every query. It shows metrics across time consumed, throughput, and mean query time. Scout’s list of queries includes calling the controller of actions or background jobs.
Third-Party Integrations
While monitoring the application performance, it is essential to debug the issues without any delay. To achieve that, you may need to integrate APM tools with our organization tools such as bug tracker, project management tools, and communication tools. Let’s now compare how each tool integrates with third-party applications.
New Relic Integration Options
New Relic integrates with project management, communication, ticketing systems, cloud services, etc. New Relic provides a wide variety of options. Some of the most popular ones are:
- Jira Cloud: New Relic has Jira integration that helps to track the issues. Here’s the app. Read more about the details here.
- Slack: NewRelic provides Slack integration for system alerts and updates. Application is available in the App Marketplace. You can configure various applications to get alert notifications.
- Ticketing System: New Relic provides integration for a Ticketing application called LightHouse out of the box. You can also integrate with your own ticketing system with services like Zapier.
- Cloud Service: New Relic integrates well with all the cloud providers available in the industry. On top of that, it includes integration for most of the services available in each cloud provider.
New Relic also integrates with Databases(MongoDB, Postgres, MySQL, Neo4j), Kubernetes, and Istio.
Sentry Integration Options
Sentry integrates with Slack for Issues, metric alerts, and link unfurling. You can also integrate with Microsoft teams, Datadog, and Twilio for the issues and metric alerts. Here are some popular integrations offered by Sentry:
- Version Control System: Sentry integrates with version control system tools such as BitBucket, GitHub, Gitlab, and Azure DevOps.
- Project Management Tools: Sentry integrates with popular project management tools such as Asana, Jira, and Trello.
- Deployment Management: You can manage deployments such as releases, commits, and uploading javascript source maps by integrating with BitBucket pipeline, GitHub Actions, Heroku, Netlify, and Vercel.
You can also integrate with cloud services such as Google Cloud Run, Google Cloud functions, AWS Lambda to monitor the services.
Scout Integrations
One of the best features of Scout is how well it integrates with some critical third-party applications. It provides integration out of the box for popular tools and applications. Here are some top integrations offered by Scout:
- GitHub: Integration with Github helps to trace the transactions at the code level. This allows the developer to track the performance bottleneck. Scout traces the expensive SQL queries along with N+1 queries in code-level profiling.
- Rollbar: Scout displays errors from the app’s associated Rollbar project alongside performance data within the Scout UI when the Rollbar integration is enabled.
- Sentry: When the Rollbar integration is enabled to monitor Exceptions in your application, it’s easy to configure Sentry with Scout to track the Sentry exceptions via Scout Dashboard. You don’t need to jump back and forth to do the job.
- Slack: To integrate Slack with Scout, you need to use Zapier for the configuration. Scout provides WebHooks to configure inside Zapier for Slack communication.
- HoneyBadger: When the HoneyBadger integration is enabled, Scout dashboard displays errors directly from Honey Badger to the dashboard.
Installation Comparison
So far, we have discussed features, integration, usability, and dashboard. But the first and foremost step towards integrating an APM tool into an app is to install it. Whether it’s a custom agent or tool, you need to install it first and integrate it with the application.
New Relic Installation Process
You can configure the NewRelic agent in various programming languages such as C, Go, Java, .NET, Node.js, PHP, Python, and Ruby. One of the main features of NewRelic is that it provides an agent which you can install across different levels for different functionalities. They include:
- Code Level Profiling
- Browser Monitoring
- Infrastructure Monitoring
- Mobile Monitoring
- Synthetic Monitoring
Since it provides configuration across different levels, it has a steep learning curve. As a result, the configuration can be overwhelming, and it needs a certain amount of training to do the job. Also, use cases for windows installation will be helpful to configure the New Relic agent on Windows operating systems.
Sentry Installation Process
Sentry provides various options to install the agent to monitor the application. It can be a native installation like OSX installation or language dependency installation. Since it provides a variety of installation options, it provides a better developer experience in the installation process. Some common ways to install sentry are:
- Command line.
- Node package.
- Mac OSX installation.
- Docker installation.
While installing in OSX, you need to have Homebrew installed as a prerequisite. Sentry provides well-documented instructions for the installation process, which helps to make the installation process easier.
Scout Installation Process
Scout agents and its installation process are straightforward. It provides agents for Ruby, Elixir, Python, PHP, and Node.js agents. You can directly install an agent in your application as a dependency.
You can further configure scout agents in your codebase if the agent doesn’t support your application’s programming language. Scout provides the Core Agent API with which you can monitor your application performance.
Product Support
Customer support is one of the most important factors to consider while choosing a performance monitoring tool. Because once you choose an APM tool, you will be spending a lot of time with the support team to fix issues and get help regarding your needs. So if a product doesn’t have good support, it will be difficult for you to make full use of it.
New Relic Support
New Relic provides support via forums, GitHub Issues, email, and support tickets. With New Relic, it can take a while to get support. But, there are chances that you will get to talk to the engineer who built the service that you are using.
Sentry Support
Sentry provides both community and paid support. The community is involved in the general discussion and provides articles around frequently asked questions. However, it is difficult to share confidential information in the forum or get help from the articles since it can be unique to your case. For paid subscriptions, you can get support from the Sentry team to resolve your specific queries and issues.
Scout Support
Scout provides slack, chat, and email support. For email, you will receive a response within 24 hours. You can also join the Slack workspace to discuss your issues with fellow customers from around the
Recap
Performance monitoring has become a crucial part of software applications nowadays. So, choosing an appropriate APM tool is important for an application. As we discussed, each APM tool shines in its own category and sector. So, you need to make a choice based on your requirements and business needs. For example, if you are a small or mid-sized enterprise and need a robust performance monitoring tool, then choosing Scout will make more sense compared to the other two tools. Likewise, each tool has its own advantages and disadvantages.