New Relic vs Skylight: What are the differences?
New Relic: 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; Skylight: The smart profiler for your Rails apps. Skylight is a smart profiler for your Rails apps that visualizes request performance across all of your servers.
New Relic and Skylight can be categorized as "Performance Monitoring" tools.
Some of the features offered by New Relic are:
- Performance Data Retention
- Real-User Response Time, Throughput, & Breakdown by Layer
- App Response Time, Throughput, & Breakdown by Component
On the other hand, Skylight provides the following key features:
- Skylight looks at how your code is behaving in production, alerting you to improvements you can make before they become showstoppers.
- Skylight tells you exactly how your app is spending its time where it matters most—in your production environment
- Pricing starts at $20 for the first million requests, with automatic discounts for high-volume customers
"Easy setup" is the top reason why over 411 developers like New Relic, while over 10 developers mention "Beautiful UI" as the leading cause for choosing Skylight.
According to the StackShare community, New Relic has a broader approval, being mentioned in 3142 company stacks & 575 developers stacks; compared to Skylight, which is listed in 39 company stacks and 5 developer stacks.
I haven't heard much about Datadog until about a year ago. Ironically, the NewRelic sales person who I had a series of trainings with was trash talking about Datadog a lot. That drew my attention to Datadog and I gave it a try at another client project where we needed log handling, dashboards and alerting.
In 2019, Datadog was already offering log management and from that perspective, it was ahead of NewRelic. Other than that, from my perspective, the two tools are offering a very-very similar set of tools. Therefore I wouldn't say there's a significant difference between the two, the decision is likely a matter of taste. The pricing is also very similar.
The reasons why we chose Datadog over NewRelic were:
- The presence of log handling feature (since then, logging is GA at NewRelic as well since falls 2019).
- The setup was easier even though I already had experience with NewRelic, including participation in NewRelic trainings.
- The UI of Datadog is more compact and my experience is smoother.
- The NewRelic UI is very fragmented and New Relic One is just increasing this experience for me.
- The log feature of Datadog is very well designed, I find very useful the tagging logs with services. The log filtering is also very awesome.
Bottom line is that both tools are great and it makes sense to discover both and making the decision based on your use case. In our case, Datadog was the clear winner due to its UI, ease of setup and the awesome logging and alerting features.
I chose Datadog APM because the much better APM insights it provides (flamegraph, percentiles by default).
The drawbacks of this decision are we had to move our production monitoring to TimescaleDB + Telegraf instead of NR Insight
NewRelic is definitely easier when starting out. Agent is only a lib and doesn't require a daemon
What is New Relic?
What is Skylight?
Sign up to add, upvote and see more prosMake informed product decisions
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
What tools integrate with Skylight?
Sign up to get full access to all the tool integrationsMake informed product decisions
If you follow the registration flow you end up with running analytics virtually in a minute. Awesome first experience.
I don't have my application in production so I needed to enable skylight in development, but Skylight navigated me nicely to the exact paragraph of a documentation, which helped.
When we were facing performance issues with the new StackShare app. We originally thought it was a server issue. So we did quite a bit of research to see how many dynos we should be using for the sort of application we have and traffic profile. We couldn’t find anything useful online so I ended up asking my buddy Alain over at BlockScore. After a quick convo with him, I knew we should be totally fine with just 2 dynos.
We also tested the theory by increasing the number of dynos and running the load tests. They had little to no effect on error rate, so this also confirmed that it wasn’t a server issue.
So that meant it was an application issue. New Relic wasn’t any help. I spoke with another friend who suggested we use a profiler. We totally should have been using one all along. We added mini-profiler, which was great for identifying slow queries and overall page load times. We also had the Rails Chrome extension so we could see how long view rendering was taking. So we cleaned up the slowest queries.
We tried to use mini-profiler in production on the new StackShare app and for some reason, we couldn’t get it to work. We were in a time crunch so I asked Alain what they used and he said that they use Skylight in production. Funny enough, I remembered the name Skylight because we listed it on the site a while back. So we did that, and at first we couldn’t really see how it was useful. Then we realized what we were seeing were a ton of repeat queries on some of the pages we load tested.
Skylight is cool because it sort of gives you the full MVC profile. We were able to pinpoint specific db queries that being repeated. So we cleaned those up pretty quickly. But then we noticed the views were taking up all the load time, so we start implementing caching more aggressively. After we cleaned up the db queries and added more caching, our pages went from this: to this:
Skylight ended up being super useful. We use it in production now.
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.