Instrumental vs Skylight: What are the differences?
What is Instrumental? Visualize any aspect of your application performance, measure production code in real-time, and share with your entire team. Instrumental is a real-time application and server monitoring platform. With over a million datapoints processed every second, we're one of the highest scale monitoring services.
What is 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.
Instrumental and Skylight belong to "Performance Monitoring" category of the tech stack.
Some of the features offered by Instrumental are:
- Application monitoring - we accept any volume of arbitrary data, making it easy to set up graphs to measure the performance of your application in real time
- Server monitoring - Ruby apps can use our instrumental tools gem to monitor information like CPU statistics, memory usage, disk space, and all the other things you'll need to monitor your servers. Language support - Ruby is supported using a custom library, and all other languages are supported with our Statsd backend
- RESTful API - upon authentication, data is collected and returned in strict JSON format
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
"Best, fastest, and easiest-to-use Interface" is the primary reason why developers consider Instrumental over the competitors, whereas "Beautiful UI" was stated as the key factor in picking Skylight.
What is Instrumental?
What is Skylight?
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 Instrumental?
Sign up to get full access to all the companiesMake informed product decisions
What tools integrate with Instrumental?
What tools integrate with Skylight?
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.
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.