This add-on is operated by AppNeta, Inc.
Application Performance Insight
Table of Contents
Adding TraceView to an application provides deep performance monitoring.
- Understand application architecture, and issues’ root cause, in a single glance.
- Isolate interesting calls and drill down to line of code and dyno it ran on.
- Drill down on spikes in latency, even if the cause is only a single outlying request.
TraceView is integrated tightly with Heroku for easy access via your Heroku account and supports Ruby-based applications on Heroku. (Elsewhere, we also support Java, PHP, and Python.)
Provisioning the add-on
TraceView can be added to your application via the add-on marketplace, or via the CLI.
TraceView can be attached to a Heroku application via the CLI:
A list of all plans available can be found here.
$ heroku addons:add traceview -----> Adding traceview to sharp-mountain-4005... done, v18 (free)
After installing TraceView the application should be configured to fully integrate with the add-on.
Using with Rails 3.x - 4.x
Ruby on Rails applications will need to add the following entry into their
Gemfile specifying the TraceView client library.
Update application dependencies with bundler.
$ bundle install $ git commit -am "Update Gemfile for Appneta's TraceView addon." $ git push heroku master
And that’s it!
Using with Sinatra/Padrino
You can instrument your Sinatra or Padrino application by adding the following code to your
config.ru Rackup file (Padrino example).
require 'oboe-heroku' require 'oboe/inst/rack' # You may want to replace the Oboe.logger with your own Oboe.logger = Padrino.logger Oboe::Ruby.initialize Padrino.use Oboe::Rack
In a future release, much of this will be automated.
Accessing the TraceView Dashboard
TraceView collects performance information about your application, then makes it available in real-time. To see the data, you can head to your Heroku app manager, or use the CLI.
Heroku app manager
Simply visit the Heroku apps web interface and selecting the application in question. Select TraceView from the Add-ons menu.
To open TraceView from your Heroku CLI tools:
$ heroku addons:open traceview Opening traceview for sharp-mountain-4005...
If you are using the TraceView add-on with Unicorn, you should add the
preload_app true directive in your Unicorn configuration file or TraceView may not be able to fully initialize and instrument your application.
You should also add in before and after hooks so that TraceView can instrument properly after a fork operation. This involves simply calling
::Oboe.reconnect! in the
after_fork hooks respectively.
An example Unicorn configuration file can be found in this Github gist.
Having trouble getting set up with TraceView? Not seeing something you expected, or seeing something you didn’t? Here’s two ways to get help:
- The TraceView Knowledge Base has documentation covering the Ruby instrumentation and common questions.
- You can reach our support engineers via email or IRC: firstname.lastname@example.org or on Freenode at #appneta .
To double-check that the add-on is installed: once TraceView has been added a
TRACEVIEW_CUUID setting will be available in the app configuration and will contain the your TraceView specific UUID. This can be confirmed using the
heroku config:get command.
$ heroku config:get TRACEVIEW_CUUID http://user:email@example.com/resourceid
Selecting the right TraceView plan
TraceView plans are based on the number of dynos being monitored. The plans start with the free Beaker plan (up to 3 dynos), which is full-featured except for limited data retention (1 hour) and no alerting. The other plans, named for scientists more famous (or at least more professional) than Beaker are full-featured with 45 days of data retention and alerting.
The plans are priced based on the number of dynos your application uses. We provide a number of tiers of service, each covering up to a certain number of dynos. You can match up the number of dynos your application uses to find the appropriate plan tier.
If you’re autoscaling, or wish to monitor a large number of dynos, please contact us–we have plans for that.
Full plan descriptions are available on the add-on page.
As you adjust the number of dynos your application uses, you may wish to upgrade or downgrade your TraceView plan.
heroku addons:upgrade command to migrate to a new plan.
$ heroku addons:upgrade traceview:enterprise -----> Upgrading traceview:enterprise to sharp-mountain-4005... done, v18 ($49/mo) Your plan has been updated to: traceview:enterprise
Removing the add-on
TraceView can be removed via the CLI.
This will destroy all your TraceView data and cannot be undone!
$ heroku addons:remove traceview -----> Removing traceview from sharp-mountain-4005... done, v20 (free)
Before removing TraceView you can export collected performance data using the Data API.