top | item 16341813

Skylight, a Ruby profiler, free for open source applications

120 points| chancancode | 8 years ago |blog.skylight.io

32 comments

order

sergiotapia|8 years ago

If you're building a Rails app, you should be using Skylight. It gives you:

1. What's slow.

2. What's hit frequently.

This combined gives their "agony" ranking for you to fix problems that impact the most. In a very clean UI!

Terrific product. I wish I had Skylight for my Phoenix/Elixir stack.

igravious|8 years ago

Does it build up a performance profile over time? As in, do you need to serve thousands of requests before you get a picture?

ksylvest|8 years ago

Do you find it significantly better than NewRelic?

wasd|8 years ago

Has anyone used New Relic and switched to Skylight or vice versa? Been looking for some comparisons [1].

[1]: https://twitter.com/sunnyrjuneja/status/951973556170215424

snowpalmer|8 years ago

I could never find anything actionable in NewRelic. Seems like interesting data, but nothing I could optimize for. Skylight has identified slow performing areas where we've worked on and watched a downward trend.

danmaz74|8 years ago

Note to the Skylight marketing team: I had never heard of your service in 10 years of using Rails, even if it was something that could very valuable to me. But if I open the homepage what I see is:

"DO THE ANSWER DANCE". Cool looking weirdo characters dancing. Generic charts-filled dashboard screenshots. Comparatively very small text saying "learn why your app is slow".

If you hadn't been vouched by this HN thread, I would have never read below the fold to learn that you allow profiling Rails apps.

drewda|8 years ago

I see that the logs and analysis will be open to everyone. I guess that's equivalent to using Travis, CircleCI, etc. on their free/open tiers. But API logs and analysis like Skylight performs can have much more unpredictable and sensitive info in them than test/build logs.

Does this mean that all private fields needs be scrubbed in-app, before Skylight? For example, a hosted OSS service that includes e-mail addresses or location data in API query strings.

wycats|8 years ago

The short answer is no.

We work differently than other similar products, in that we rely heavily on aggregation, both for presenting useful data in the UI and also to keep our backend scalable. We don't keep around particular aspects of individual requests. Individual requests are essentially only used as "data points" to build statistical models about your app/endpoints. For example, any SQL queries are parsed and sanitized on your server before they are sent to us[1].

That probably sounds more involved than it actually is in practice – you can see it for yourself on the dashboards for The Odin Project[2] and the Homebrew formula browser[3]. The bottom line is that there is no way to get from the aggregated data back to an individual request.

[1] https://www.skylight.io/support/faqs#security

[2] https://oss.skylight.io/app/applications/g0gJSNnzYAws/recent...

[3] https://oss.skylight.io/app/applications/jut3BrkJo722/recent...

FanaHOVA|8 years ago

Been using this on production for ~1 year now, no complaints so far!

avtar|8 years ago

“Skylight is a smart profiler for Ruby on Rails applications.”

wycats|8 years ago

For clarity, we also support almost all Rack-based frameworks in Ruby (including Sinatra):

https://www.skylight.io/support/advanced-setup

We should probably update our copy to clarify this point in the prominent places where it isn't already clear.

kibwen|8 years ago

As a further historical note that may interest HN users specifically, Skylight was the world's first production user of Rust (the Ruby gem they ship is written in it), dating back to well before Rust was even stable.

dang|8 years ago

Ok we've attempted to integrate that into the title.