getsentry / getsentry/sentry-python

SQL queries not traced when using FastAPI with encode/databases

Aperta
#2,599 7 commenti 2 reazioni 0 assegnatari Vedi su GitHub
Feature Integration: SQLAlchemy New Integration Python
Lingua principale
Python
Stelle
2.2k
Fork
669
Merge medio
1g 1h
PR unite (30g)
213

Descrizione

### How do you use Sentry?

Sentry Saas (sentry.io)

### Version

1.39.1

### Steps to Reproduce

When using the encode/databases package for async database access in FastAPI, queries are not traced.

Example code:
```python
from typing import List

import databases
from fastapi import FastAPI
from pydantic import BaseModel
import sentry_sdk
import sqlalchemy

DATABASE_URL = "sqlite:///./test.db"
ASYNC_DATABASE_URL = "sqlite+aiosqlite:///./test.db"

sentry_sdk.init(
dsn="https://....",
debug=True,
enable_tracing=True,
profiles_sample_rate=1.0,
traces_sample_rate=1.0
)

database = databases.Database(ASYNC_DATABASE_URL)
metadata = sqlalchemy.MetaData()
notes = sqlalchemy.Table(
"notes",
metadata,
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True),
sqlalchemy.Column("text", sqlalchemy.String)
)
engine = sqlalchemy.create_engine(
DATABASE_URL, connect_args={"check_same_thread": False}
)
metadata.create_all(engine)

app = FastAPI(
title="SentryTest",
version="0.0.1"
)

class Note(BaseModel):
id: int
text: str

@app.get("/test")
async def test() -> List[Note]:
query = "SELECT * from notes;"
return await database.fetch_all(query=query)

```

Output of `pip freeze --all`:
```
aiosqlite==0.19.0
annotated-types==0.6.0
anyio==3.7.1
certifi==2023.11.17
click==8.1.7
databases==0.8.0
exceptiongroup==1.2.0
fastapi==0.105.0
greenlet==3.0.2
h11==0.14.0
httptools==0.6.1
idna==3.6
pip==23.3.1
pydantic==2.5.2
pydantic_core==2.14.5
python-dotenv==1.0.0
PyYAML==6.0.1
sentry-sdk==1.39.1
setuptools==68.2.2
sniffio==1.3.0
SQLAlchemy==1.4.50
starlette==0.27.0
typing_extensions==4.9.0
urllib3==2.1.0
uvicorn==0.24.0.post1
uvloop==0.19.0
watchfiles==0.21.0
websockets==12.0
wheel==0.41.3
```

### Expected Result

The queries should show up in the web interface

### Actual Result

The queries do not show in the web interface

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.