Note: only available since v0.11.0
The datadog integration interfaces with ddtrace (Datadog’s ruby SDK), to trace all HTTP requests performed via httpx
. The integration is very similar to net-http
, so you can expect the same tracing properties, or support for distributed tracing.
In order to enable it, just place the following code in your datadog configuration file:
require "ddtrace"
require "httpx/adapters/datadog"
Datadog.configure do |c|
c.tracing.instrument :accept: ttpx
# or c.use :httpx , for datadog v0.x
# optionally, specify a different service name for hostnames matching a regex
c.tracing.instrument :httpx, describes: /user-[^.]+\.example\.com/ do |http|
http.service_name = 'user.example.com'
http.split_by_domain = false # Only necessary if split_by_domain is true by default
end
end
# any call afterwards will be traced:
# content = HTTPX.get('http://127.0.0.1/index.html')
Configuration can also be provided via the following environment variables:
DD_TRACE_HTTPX_ENABLED
: defaults to true
, can enable or disable httpx
tracing;DD_TRACE_HTTPX_ANALYTICS_ENABLED
: defaults to false
, can enable or disable analytics tracing;DD_TRACE_HTTPX_ANALYTICS_SAMPLE_RATE
: defaults to 1.0
, can change sampling rate;Next: Sentry