How is Stackify's Retrace different from New Relic?
Nothing tells you what your code is doing like Retrace.
1. Retrace Shows You What Your Code is Doing
Developers need to know what their code is doing, and how long it takes. Below is an example of a simple async ASP.NET MVC web request as shown in New Relic and Retrace.
New Relic shows 2 SQL queries, and 1 external HTTP call.
On the same request, Retrace shows 2 SQL queries, 2 Redis calls, 1 external HTTP call, 2 MVC child actions, 2 MVC partial views, all HTTP modules, 8 log statements, and 1 exception, in one view
2. Support for Your Logs
Included support for viewing, searching, and exploring your logs
Most of the time, having access to application logs is critical to hunting down application problems. Retrace includes advanced log management features at no additional costs.
New Relic does not support application or server logs. Instead, it relies on linking you to costly third party providers.
Logs can easily be sent via a simple configuration change to popular logging frameworkds like log4net, NLog, Serilog, log4j, logback and more.
- Application logs
- Windows Events
- Web server logs (IIS, Apache, Nginx)
Plus, log management features are included at no additional cost!
3. Hunt Exceptions
Track every exception in your code, even the ones you are ignoring
Both solutions enable developers to track exceptions in their applications. Exceptions are uniquely identified by the type and location within your code.
New Relic only tracks unhandled exceptions and only the last exception in a request. Any exceptions caught and thrown away will be hidden…
See how GeeksWithBlogs used Retrace to find hidden exceptions and other performance problems in their application.
Retrace automatically collects all exceptions and provides very robust reporting and alerting features.
You choose how many exceptions you want to see:
- First chance exceptions
- Handled exceptions
- Unhandled exceptions
4. Track SQL Queries
Track every unique SQL query used in your code
Many performance problems can be attributed to slow SQL database queries or not realizing that your application makes way too many queries. Tracking individual queries is critical to identifying which are used the most and take the longest.
New Relic tracks SQL queries and provides basic reporting. Unfortunately, it overly combines unique statements making it hard to track them. Good luck sorting out what is in “OTHER”.
Retrace tracks the performance down to every unique SQL query. Including dynamic SQL, stored procedures, and crazy ORM queries.
5. Support Async and .NET Core
Retrace supports async, .NET Core, and provides more details
Retrace works out of the box with a wide variety of application dependencies including numerous SQL, NoSQL, caching, queueing, and other common libraries.
New Relic has general support for .NET Core 2.0 but limited support for async.
Retrace has broader and deeper support for .NET
- Async support for all common frameworks
- Async/await support for your custom code
- Full support for .NET Core on Windows
- View errors & logs inline with your code
What happens when your code fails fast and often?
New Relic only provides detailed traces for slow requests. This makes it hard to troubleshoot app problems that fail fast, or compare performance to fast requests.
Retrace tracks every requests, fast or slow, and provides sampled detailed traces of them. Requests often fail fast due to handled exceptions that New Relic doesn’t even track.
7. Code Level Profiling
Retrace provides more details with less application overhead
Code level profiling adds overhead to your application. They key is minimizing it as much as possible and ensuring it doesn’t slow down your app or cause erratic performance problems.
New Relic’s agent runs within the w3wp process of your application. When it starts crunching data in the background, your app reacts with erratic performance.
Retrace minimizes w3wp process overhead by using highly optimized C++ code for data collection and relies on a separate Windows Service agent to crunch data in the background.
- Lower CPU usage
- Less impact to response times
- Does background work “out of process”
- Collects more data
Is it safe to run APM on production servers?
Retrace provides the advanced details developers need.
Advanced SQL query details:
- Database server address and name
- Time spent on server vs downloading query result
- # of records affected
- Full query text
- SQL transaction usage
Advanced HTTP call details:
- Time to serialize and POST request
- Time to receive intial response
- Time to download full response
- Result status code and length
Track hidden request time:
- Deserializing incoming request data
- Serializing request response
- Support for MVC, Web API & WCF
More smart details:
- Cache keys being used
- Queue names
- and more
New Relic pricing can best be described as a-la-carte. Many essential features must be priced individually of the APM. Some of these features include logging, traces, and serverless support.
With Retrace, all features come standard. The only difference plan to plan is the amount of data being stored and/or processed. This means all of our customers have access to the same great product regardless of pricing tier.
Track Application Performance from Dev to Prod
The best place to find and fix application problems is in dev, with Prefix. The second best okay is in QA or a pre-production environment with Retrace. It is important to use and APM type product in QA to help identify problems early.
The combination of Prefix and Retrace give developers the toll they need from Dec to QA to Prod.