asyncpg

Learn about importing the asyncpg integration and how it captures queries from asyncpg.

The AsyncPGIntegration captures queries from asyncpg, which can be viewed in Sentry's Performance page.

To get started, install sentry-sdk from PyPI.

Copied
pip install --upgrade sentry-sdk[asyncpg]

If you have the asyncpg package in your dependencies, the asyncpg integration will be enabled automatically when you initialize the Sentry SDK.

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 asyncpg

async def main():
    sentry_sdk.init(...)  # same as above

    with sentry_sdk.start_transaction(name="testing_sentry"):
        conn = await asyncpg.connect(DATABASE_URL)
        await conn.fetch("SELECT * FROM pg_catalog.pg_tables;")
        await conn.close()

asyncio.run(main())

This will create a transaction called testing_sentry in the Performance section of sentry.io, and create spans for the connect and the SELECT operations.

It takes a couple of moments for the data to appear in sentry.io.

  • asyncpg: 0.23+
  • Python: 3.7+
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").