Aller au contenu

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:

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


本文总阅读量次