Rack
To instrument Rack applications AppSignal provides an instrumentation middleware which can be added to any Rack application.
To integrate AppSignal in a Rack application we first need to load, configure and start AppSignal.
require 'appsignal' # Load AppSignal
Appsignal.config = Appsignal::Config.new(
File.expand_path('../', __FILE__), # Application root path
'development', # Application environment
:name => 'logbrowser' # Optional configuration hash
)
Appsignal.start # Start the AppSignal integration
Appsignal.start_logger # Start logger
Lastly we need to add the instrumentation middleware to the application.
use Appsignal::Rack::GenericInstrumentation
By default all HTTP requests/actions are grouped under the 'unknown' group. You can override this for an action by setting the route in the request environment.
env["appsignal.route"] = "GET /homepage"
Or by using the Appsignal.set_action
helper method in your Rack endpoints.
Appsignal.set_action("GET /homepage")
For better insights it's recommended to add additional instrumentation to the Rack application.