Skip to main content
The http.rb gem is an HTTP client library for Ruby. AppSignal instruments http.rb requests automatically when the gem is detected on start. No manual setup is required.

Performance monitoring

Requests made with http.rb appear in the event timeline of your application’s performance actions as request.http_rb events, showing the request method and host. They also appear in the “Slow API requests” performance panel, where you can review the requests your application makes to other services and the impact they have on its performance.

Chained requests

AppSignal also instruments requests made through a chained client, such as HTTP.follow.get(...) or HTTP.headers(...).get(...), recording them as request.http_rb events like any other request.

Disabling the integration

To disable the http.rb integration, set the instrument_http_rb config option to false.

Span attributes

Collector mode only: this applies when AppSignal for Ruby runs in collector mode. It has no effect otherwise.
The request’s span carries:
  • http.request.method — the request method.
  • server.address and server.port — the host that was called.
  • url.full — the full request URL.
  • http.response.status_code — the status the other service responded with.

Distributed tracing

Collector mode only: this applies when AppSignal for Ruby runs in collector mode. It has no effect otherwise.
Requests made with this library carry the current trace to the service being called, in a traceparent request header. When that service reports to AppSignal too, its work joins the same trace. You can open a slow outgoing request and see what the other service spent its time on. The HTTP servers AppSignal supports continue the trace. Any other service starts its own.