getsentry / getsentry/sentry-python

SQL queries not traced when using FastAPI with encode/databases

オープン
#2,599 コメント 7 件 リアクション 2 件 担当者 0 名 GitHub で見る
Feature Integration: SQLAlchemy New Integration Python
主要言語
Python
スター
2.2k
フォーク
669
平均マージ
1日 1時間
マージ済み PR(30日)
213

説明

### 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

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。