スターレット¶
logfire.instrument_starlette() メソッドは、Starletteアプリケーションのリクエストごとにスパンを作成します。
インストール¶
starlette extraを使用して logfire をインストールします:
{{ install_logfire(extras=['starlette']) }}
使い方¶
以下に最小の例があります。Uvicornをインストールして実行してください。
pip install uvicorn
python main.py を使用して実行できます。
main.py
import logfire
from starlette.applications import Starlette
from starlette.responses import PlainTextResponse
from starlette.requests import Request
from starlette.routing import Route
logfire.configure()
async def home(request: Request) -> PlainTextResponse:
return PlainTextResponse("Hello, world!")
app = Starlette(routes=[Route("/", home)])
logfire.instrument_starlette(app)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app)
logfire.instrument_starlette() のキーワードパラメーターは、OpenTelemetyStarletteInstrumentationパッケージの StarletteInstrumentor.instrument_app() メソッドに渡されます。詳細については、ここを参照してください。
問題
より経験豊富なユーザーであれば、なぜOpenTelemometry AS GIミドルウェアを使用しないのか疑問に思うかもしれません。
その理由は、StarletteInstrumentor が実際にAS GIミドルウェアをラップし、ルーティングに関連するいくつかの追加情報を追加したためです。
リクエストとレスポンスヘッダーのキャプチャ¶
本文总阅读量次