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

Performance monitoring

Requests made with Excon appear in the event timeline of your application’s performance actions as request.excon 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. Requests made through Faraday using its Excon adapter are recorded once, as a Faraday event.

What one event covers

When Excon retries a request or follows a redirect, AppSignal records one event covering every attempt or hop. Earlier versions recorded a request as several events. A pipelined request is the exception. Excon returns from it before reading the response, so its event covers only sending the request.

Disabling the integration

To disable the Excon integration, set the instrument_excon 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.