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").