Added
-
Improve Faraday support. AppSignal now instruments Faraday requests automatically, without double-instrumenting the underlying HTTP client. Turn it off with the
instrument_faradayoption. Read more in our Faraday integration docs. -
Add config options to turn individual integrations off. Set
instrument_sidekiq,instrument_shoryuken,instrument_que,instrument_resque,instrument_delayed_job,instrument_active_job,instrument_exconorinstrument_mongotofalseto disable that integration entirely. This turns off both the instrumentation of the jobs or requests and the enqueue instrumentation for that integration. They all default totrue. Each can also be set through its environment variable, such asAPPSIGNAL_INSTRUMENT_SIDEKIQ. -
Instrument background job enqueues. Enqueuing a job now records an enqueue event on the active transaction, so enqueues made from within a web request or another job show up in the event timeline. This is recorded for Sidekiq (
enqueue.sidekiq), Que (enqueue.que, plusbulk_enqueue.quefor bulk enqueues on Que 2), Resque (enqueue.resque), Shoryuken (enqueue.shoryuken) and Delayed Job (enqueue.delayed_job). Each event is titled after the job being enqueued.For Active Job, the
enqueue.active_jobevent is now recorded by AppSignal's own instrumentation rather than by Rails' nativeenqueue.active_jobnotification. The native notification is suppressed so the enqueue is recorded once, and the event is now titled after the job being enqueued.These enqueue events can be turned off with the
enable_job_enqueue_instrumentationconfig option. Set it tofalseto stop recording enqueue events across all integrations, without affecting the instrumentation of the jobs themselves. It defaults totrueand can also be set through theAPPSIGNAL_ENABLE_JOB_ENQUEUE_INSTRUMENTATIONenvironment variable. -
Report the
grapegem version in the environment metadata. For more information, see our environment metadata docs.
Fixed
- Instrument HTTP.rb chained requests on http 6. Requests made through a chained
client --
HTTP.follow.get(...),HTTP.headers(...).get(...), and so on -- go throughHTTP::Sessionrather thanHTTP::Client, and were not being recorded. They now produce arequest.http_rbevent like any other request.
View the Ruby gem v4.9.0 changelog for more information.