그레이엄 덤플턴: 랩처로 플라스크 추적하기 노트

그레이엄 덤플턴: 랩처로 플라스크 추적하기

웹 애플리케이션의 요청을 추적하는 것은 HTTP 요청 세부 정보와 해당 요청 처리 중에 발생한 모든 호출을 계층적 트리로 캡처하는 것을 포함합니다. WSGI 애플리케이션은 상태와 헤더가 콜백을 통해 전달되고, 본문은 호출 후에 소비되는 이터러블이며, 예외가 내부적으로 처리되기 때문에 추적에 어려움을 제시합니다. Flask 애플리케이션 예시는 이를 보여주며, 헬스 체크, 견적, 주문을 위한 라우트가 있습니다. 추적을 위한 구성에는 이제 Flask 계측을 지정하기 위한 [[instrument]] 항목이 포함됩니다. 이 설정은 요청 흐름에 대한 상세한 관찰을 가능하게 합니다. Flask 요청이 처리될 때, 추적은 트리를 시작하는 요청 라인을 보여주고, 그 뒤를 애플리케이션 로직을 나타내는 중첩된 호출들이 따릅니다. 오류는 Flask 내의 예외 처리를 통해 캡처되며, 계측이 요청 이벤트에 대해 이를 기록할 수 있도록 합니다. 노이즈를 관리하기 위해 헬스 체크와 같은 특정 경로는 무시될 수 있으며, 추적 데이터 생성을 방지합니다. Flask 확장 프로그램의 라이프사이클 콜백도 선택적으로 관찰에서 제외될 수 있습니다. Flask 계측은 Flask의 WSGI 미들웨어, 라우트 처리, 예외 관리 등 핵심 지점에 바인딩을 적용하여 작동합니다. 추적의 핵심 단위는 상태, 지속 시간, HTTP 세부 정보를 포함한 모든 관련 데이터를 포함하는 요청 이벤트입니다. 이 상세한 추적은 애플리케이션 시간이 어디에 사용되고 있는지 분석할 수 있게 합니다.