HTTPX
Learn about the HTTPX integration and how it adds support for the HTTPX HTTP client.
The HTTPX integration instruments outgoing HTTP requests using either the sync or the async HTTPX clients.
Use this integration to create spans for outgoing requests and ensure traces are properly propagated to downstream services.
Install sentry-sdk
from PyPI with the httpx
extra.
Copied
pip install --upgrade 'sentry-sdk[httpx]'
The HTTPX integration is enabled automatically if you have the httpx
package installed.
Configuration should happen as early as possible in your application's lifecycle.
Copied
import sentry_sdk
sentry_sdk.init(
dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
# Set traces_sample_rate to 1.0 to capture 100%
# of transactions for tracing.
traces_sample_rate=1.0,
# Set profiles_sample_rate to 1.0 to profile 100%
# of sampled transactions.
# We recommend adjusting this value in production.
profiles_sample_rate=1.0,
)
Copied
import httpx
def main():
sentry_init(...) # same as above
with sentry_sdk.start_transaction(name="testing_sentry"):
r1 = httpx.get("https://sentry.io/")
r2 = httpx.post("http://httpbin.org/post")
main()
This will create a transaction called testing_sentry
in the Performance section of sentry.io, and create spans for the outgoing HTTP requests.
It takes a couple of moments for the data to appear in sentry.io.
- HTTPX: 0.16+
- Python: 3.6+
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").