Getting Started

Quick Start guide, the theory behind Skylight, and more stuff you need to know to get up and running with Skylight.

Quick Start

First, check that your app meets the requirements to run Skylight. If so, huzzah! Carry on.

  1. Add Skylight to your Gemfile. Be sure to include it in all of your environments.
    1# Gemfile
    2gem "skylight"
  2. Get your setup token from

  3. Then run:
    bundle install
    bundle exec skylight setup {SETUP_TOKEN}

    This will automatically generate your config/skylight.yml file.

  4. Check in the config/skylight.yml file and run your standard deployment process.

Click here for advanced installation procedures like setting environment variables, custom configurations, and using Skylight on another framework.

Feature Overview

Actionable Insights

Skylight makes it easy to understand and act on your app’s performance data:

App Dashboard

Screenshot of endpoints list

This is the App Dashboard, the first thing you’ll see when you log into Skylight. The dashboard gives you a high-level view of how your app is performing and acts as a starting point for digging into the details.

Learn more here.

Endpoint View

Screenshot of endpoint view

The Endpoint View is the heart and soul of Skylight. More than just looking pretty, this page is the end result of distilling thousands of data points into actionable information that you can use to speed up your app.

Learn more here.

Screenshot of Trends Email

Our weekly Trends Email distills your performance data into a beautiful, actionable report that helps you catch slowdowns before your customers do.

Learn more here.

The Theory Behind Skylight

Answers, Not Data

Rather than bog you down with a zillion charts and graphs, Skylight turns performance data into actionable insights, so you spend less time diagnosing and more time improving.

Our user interface is pretty and fun to use. We’ve optimized it to provide maximum insight with minimal distractions. We work very hard to make Skylight’s UI approachable, with the attitude that providing more data is a worse experience if it can’t be presented correctly.

We focus on the features that actually help you improve your app, such as Agony to prioritize improvements, heads up to spot potential code mistakes, and the Event Sequence to determine where your app is spending the most time.

Don’t struggle to learn why your app is slow. Get answers with Skylight.

True Response Times

Screenshot of Response Times

Your application’s response times appear several places in Skylight. In most cases we talk about the numbers in one of two ways. The “problem” response time is the 95th percentile, whereas the “typical” response time is the median (50th percentile).

Most tools only show averages, which are easy to calculate but provide limited usefulness on their own. In Skylight, we always show the 95th percentile response time as well. While this takes significantly more computation on the backend to determine, it is a much, much better number to indicate real world performance.

Averages are almost useless when thinking about web performance, and in the worst case, are actually misleading. For more information, see DHH’s blog post, The Problem with Averages. Google, Twitter, and GitHub (to name a few) all use 95th percentile numbers when tracking performance.

Learn more about Skylight’s approach to percentiles here.

Aggregation vs. Sampling

Most other profiling tools rely on sampling to give you detailed information about endpoints. While this provides some value, it doesn’t provide you information about every request. Depending on how frequently the sample happens, it’s quite likely that it will miss spikes and unusual behavior.

In Skylight, we track information about every request. We then aggregate the data to provide a representative picture of your application, dropping only the outliers. This means that no request is ignored, and we can give you a full and accurate picture of your application.