콘텐츠로 이동

스타렛

logfire.instrument_starlette() 방법이 정확할 것입니다 스타렛 응용 프로그램에 대한 각 요청은 스팬을 만듭니다.

설치

starlette 엑스트라를 사용하여 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() 에 대한 키워드 인수는 OpenTelemetry Starlette Instrumment 패키지의 StarletteInstrumentor.instrument_app() 방법으로 전달됩니다.여기에서 자세히 알아보십시오..

질문

"OpenTelemetry ASGI 미들웨어는 어떻습니까? 경험이 풍부한 사용자라면OpenTelemetry ASGI 미들웨어를 사용하지 않는 이유가 궁금할 것입니다.

그 이유는 StarletteInstrumentor 가 실제로 ASGI 미들웨어를 감싸고 라우팅과 관련된 몇 가지 추가 정보를 추가하기 때문입니다.

요청 및 응답 헤더 캡처


本文总阅读量次