Instrument HTTP Requests
Learn how to manually instrument your code to use Sentry's Requests module.
As a prerequisite to setting up Requests, you’ll need to first set up performance monitoring. Once this is done, the Ruby SDK will automatically instrument outgoing HTTP requests made via Net::HTTP
. If that doesn't fit your use case, you can set up using custom instrumentation.
For detailed information about which data can be set, see the Requests Module developer specifications.
NOTE: Refer to HTTP Span Data Conventions for a full list of the span data attributes.
Here is an example of an instrumented function that makes HTTP requests:
Copied
require 'uri'
def make_request(method, url)
Sentry.with_child_span(op: 'http.client', description: "#{method} #{url}") do |span|
span.set_data('http.request.method', method)
parsed_url = URI.parse(url)
span.set_data('url', url)
span.set_data('server.address', parsed_url.hostname)
span.set_data('server.port', parsed_url.port)
# make your custom HTTP request
response = do_request(method: method, url: url)
span.set_data('http.response.status_code', response.status_code)
span.set_data('http.response_content_length', response.headers['content-length'])
response
end
end
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").