Tập 20: FastAPI gắn request-id và đo thời gian xử lý cho mọi request bằng middleware tự viết trong 5 phút. Khi một request lỗi ở production mà không có mã định danh, việc đối chiếu log chẳng khác nào mò kim đáy bể — và đo thời gian trong từng endpoint thì vừa lặp code vừa thiếu nhất quán. Giải pháp là một middleware BaseHTTPMiddleware duy nhất: giữ nguyên X-Request-ID client gửi lên hoặc tự sinh UUID, bấm giờ bằng time.perf_counter, rồi gắn lại hai header X-Request-ID và X-Process-Time cho mọi response. Tập này giải thích vì sao thứ tự add_middleware quan trọng, vì sao perf_counter đúng hơn time.time, và khi nào nên chuyển sang middleware ASGI thuần cho response streaming lớn.
Đọc bài viết đầy đủ kèm code mẫu đã kiểm chứng chạy được tại: FastAPI: gắn request-id và đo thời gian xử lý cho mọi request bằng middleware tự viết trong 5 phút
English version
🎧 Nghe Linh Fish Dev Podcast trên:
