von Starlette¶
logfire.instrument_starlette() Die Methode stimmt. Die Starlette Für jede Anforderung der Anwendung wird eine Spanne erstellt.
Installiert¶
Verwendung starlette zusätzliche Installation logfire:
{{ install_logfire(extras=['starlette']) }}
Verwendung¶
Installieren Sie Uvicorn, um es auszuführen :
pip install uvicorn
Sie können es mit python main.py ausführen :
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)
Die Schlüsselwortargumente von logfire.instrument_starlette() werden an die StarletteInstrumentor.instrument_app()-Methode des OpenTelemetry Starlette Instrumentation-Pakets übergeben ,finden Sie hier unter für weitere Informationen .
Das
Wenn Sie ein erfahrener Benutzer sind , fragen Sie sich vielleicht , warum wir die OpenTelemetry ASGI-Middleware nicht verwenden Der Grund ist , dass StarletteInstrumentor die ASGI-Middleware tatsächlich verpackt und einige zusätzliche Informationen zum Routing hinzugefügt hat .
Anforderung - und Antwort-Header erfassen¶
[ Bearbeiten ] :https://pydantic.com.cn/starlette/ [ Opentelemetry-ASGI ] oderhttps://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/asgi/asgi.html [ Opentelemetry-starlette ] :https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/starlette/starlette.html [ bearbeiten ] :https://www.uvicorn.org/
本文总阅读量次