Crashlytics vs New Relic: What are the differences?
Developers describe Crashlytics as "The world's most powerful, yet lightest weight crash reporting solution. Free for everybody". Instead of just showing you the stack trace, Crashlytics performs deep analysis of each and every thread. We de-prioritize lines that don't matter while highlighting the interesting ones. This makes reading stack traces easier, faster, and far more useful! Crashlytics' intelligent grouping can take 50,000 crashes, distill them down to 20 unique issues, and then tell you which 3 are the most important to fix. On the other hand, New Relic is detailed as "SaaS Application Performance Management for Ruby, PHP, .Net, Java, Python, and Node.js Apps". New Relic is the all-in-one web application performance tool that lets you see performance from the end user experience, through servers, and down to the line of application code.
Crashlytics can be classified as a tool in the "Mobile Error Monitoring" category, while New Relic is grouped under "Performance Monitoring".
Some of the features offered by Crashlytics are:
- Instead of just showing you the stack trace, Crashlytics performs deep analysis of each and every thread. We de-prioritize lines that don't matter while highlighting the interesting ones. This makes reading stack traces easier, faster, and far more useful!
- Crashlytics' intelligent grouping can take 50,000 crashes, distill them down to 20 unique issues, and then tell you which 3 are the most important to fix.
- Now you'll get precise information on the performance of the devices that your apps run on. We'll let you know if the crash only happens on a specific model or generation of a device. We'll even tell you other information, like whether your app only crashes in landscape mode, or whether the proximity sensor is always on.
On the other hand, New Relic provides the following key features:
- Performance Data Retention
- Real-User Response Time, Throughput, & Breakdown by Layer
- App Response Time, Throughput, & Breakdown by Component
"Crash tracking", "Mobile exception tracking" and "Free" are the key factors why developers consider Crashlytics; whereas "Easy setup", "Really powerful" and "Awesome visualization" are the primary reasons why New Relic is favored.
StackShare, Shopify, and Salesforce are some of the popular companies that use New Relic, whereas Crashlytics is used by PayPal, Vine Labs, and Bodybuilding.com. New Relic has a broader approval, being mentioned in 3143 company stacks & 566 developers stacks; compared to Crashlytics, which is listed in 350 company stacks and 68 developer stacks.
What is Crashlytics?
What is New Relic?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Crashlytics?
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Which #APM / #Infrastructure #Monitoring solution to use?
The 2 major players in that space are New Relic and Datadog Both are very comparable in terms of pricing, capabilities (Datadog recently introduced APM as well).
In our use case, keeping the number of tools minimal was a major selection criteria.
As we were already using #NewRelic, my recommendation was to move to the pro tier so we would benefit from advanced APM features, synthetics, mobile & infrastructure monitoring. And gain 360 degree view of our infrastructure.
Few things I liked about New Relic: - Mobile App and push notificatin - Ease of setting up new alerts - Being notified via email and push notifications without requiring another alerting 3rd party solution
I've certainly seen use cases where NewRelic can also be used as an input data source for Datadog. Therefore depending on your use case, it might also be worth evaluating a joint usage of both solutions.
We currently monitor performance with the following tools:
- Heroku Metrics: our main app is Hosted on Heroku, so it is the best place to get quick server metrics like memory usage, load averages, or response times.
- Good old New Relic for detailed general metrics, including transaction times.
- Skylight for more specific Rails
Controller#actiontransaction times. Navigating those timings is much better than with New Relic, as you get a clear full breakdown of everything that happens for a given request.
Skylight offers better Rails performance insights, so why use New Relic? Because it does frontend monitoring, while Skylight doesn't. Now that we have a separate frontend app though, our frontend engineers are looking into more specialized frontend monitoring solutions.
Finally, if one of our apps go down, Pingdom alerts us on Slack and texts some of us.
Regarding Continuous Integration - we've started with something very easy to set up - CircleCI , but with time we're adding more & more complex pipelines - we use Jenkins to configure & run those. It's much more effort, but at some point we had to pay for the flexibility we expected. Our source code version control is Git (which probably doesn't require a rationale these days) and we keep repos in GitHub - since the very beginning & we never considered moving out. Our primary monitoring these days is in New Relic (Ruby & SPA apps) and AppSignal (Elixir apps) - we're considering unifying it in New Relic , but this will require some improvements in Elixir app observability. For error reporting we use Sentry (a very popular choice in this class) & we collect our distributed logs using Logentries (to avoid semi-manual handling here).
Free Heroku add-on. Not particularly useful for us. Rails profilers tend to do a better job at the app level. And I can never really figure out what’s going on with Heroku by looking at New Relic. I don’t know if we’re just not using New Relic correctly or if it really does just suck for our use case. But I guess some insight is better than none.
How do you know what parts of the workflow need improvement? Measure it. With New Relic in place, we have graphs of our API performance and can directly see if a server or zone is causing trouble, and the impact of our changes. There’s no comparison between a real-time performance graph and “Strange, the site seems slow, I should tail the logs”.
We monitor and troubleshoot our app's performance using New Relic, which gives us a great view into each type of request that hits our servers. It also gives us a nice weekly summary of error rates and response times so that we know how well we've done in the past week.
I'm trying to wring more instrumentation out of New Relic as it pertains to Rack, but for the time being, New Relic is monitoring/alerting uptime and some basic performance metrics.
Just like we care about errors, we care about metrics - especially around performance. You'd be crazy not to use it - and not surprisingly, it's a one-click add-on in Heroku.
Crashlytics is intended to track issues and crashes sent from the test and the distribution application builds.