Starlette¶
La méthode logfire.instrument_starlette() va créer une envergure pour chaque requête à l'application Starlette.
Installation de¶
Installation de logfire avec starlette extra:
{{ install_logfire(extras=['starlette']) }}
Utilisation de¶
Nous avons un exemple minimal ci-dessous. veuillez installer Uvicorn pour l'exécuter:
pip install uvicorn
Vous pouvez l'exécuter avec python 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() Les paramètres de mots-clés sont passés au paquet OpenTelemetry Starlette Instrumentation. StarletteInstrumentor.instrument_app() La méthode,Veuillez être ICI Lire plus à ce sujet.
Problème
Si vous êtes un utilisateur plus expérimenté, vous vous demandez peut-être pourquoi nous n'utilisons pas OpenTelemetry ASGI Middleware La raison en est que StarletteInstrumentor emballe en fait le middleware ASGI et ajoute quelques informations supplémentaires liées au routage.
Capture des en-têtes de demande et de réponse¶
本文总阅读量次