ScoutSignalfx

Build Status

Bring key health metrics for your Ruby on Rails app(s) into SignalFx with the scout_signalfx gem. The gem extends the Scout Ruby gem, which gathers detailed performance on every web request, and sends those metrics direct to SignalFx.

A Scout account isn't required, but it certainly makes performance investigations more fun.

signalfx dash

Installation

Add this line to your application's Gemfile:

gem 'scout_signalfx'

And then execute:

$ bundle

Or install it yourself as:

$ gem install scout_signalfx

Configuration

Add a config/initializers/scout_signalfx.rb file to your Rails app:

SIGNAL_FX_CLIENT = SignalFx.new("[SIGNAL_FX_TOKEN]")
ScoutSignalfx.configure(SIGNAL_FX_CLIENT)

Your SignalFx API access token can be obtained from the SignalFx organization you want to report data into.

Add a config/scout_apm.yml file to your Rails app:

common: &defaults
  monitor: true

development:
  <<: *defaults
  monitor: false # set to true to test in your development environment

production:
  <<: *defaults

This step isn't required if you're an existing Scout customer.

See the Scout docs for advanced configuration instructions.

The Scout gem auto-magically instruments your controller-actions. There's no more steps!

Metric Schema

The following metrics are reported once per-minute:

  • web.duration_ms
  • web.count
  • web.errors_count

Each metric has the following dimensions:

  • app - The name of the app
  • host - The hostname of the running app
  • transaction - The name of the transaction. For example, UsersController#index becomes users.index in SignalFx.

Tests

rake

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/scoutapp/scout_signalfx_ruby.

License

The gem is available as open source under the terms of the MIT License.