Litestar

Learn about using Sentry with Litestar.

The Litestar integration adds support for the Litestar framework.

Install sentry-sdk from PyPI with the litestar extra:

Copied
pip install --upgrade 'sentry-sdk[litestar]' uvicorn

Add LitestarIntegration() to your integrations list:

Copied
import sentry_sdk
from sentry_sdk.integrations.litestar import LitestarIntegration

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,
    integrations=[
        LitestarIntegration(),
    ],
)

Copied
from litestar import Litestar, get

sentry_sdk.init(...)  # same as above

@get("/hello")
async def hello_world() -> str:
    1 / 0
    return "Hello!"

app = Litestar(route_handlers=[hello_world])

Save the file above as app.py and start the development server with:

Copied
uvicorn app:app

When you point your browser to http://localhost:8000/hello a transaction will be created in the Performance section of sentry.io. Additionally, the ZeroDivisionError we've snuck into our hello_world handler will be sent to sentry.io and will be connected to the transaction.

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

  • Litestar: 2.0.0+
  • Python: 3.8+
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").