Theo dõi với X-ray
Trong phần này, chúng ta sẽ bật X-ray cho hàm Lambda để theo dõi các yêu cầu đến và đi từ hàm, biết được mỗi đoạn của hàm mất bao nhiêu thời gian. Sau đó, chúng ta sẽ biết được hàm chậm ở đâu và từ đó dễ dàng tối ưu hóa nó.
-
Mở AWS Lambda console.
- Nhấp vào Functions trên menu bên trái.
- Chọn hàm book_delete.

-
Tại trang book_delete.
- Nhấp vào tab Configuration.
- Nhấp vào Monitoring and operations tools trên menu bên trái.
- Nhấp vào nút Edit.

-
Tại trang Edit monitoring tools.
- Chọn Enable tại Lambda service traces.
- Nhấp vào nút Save.

-
Mở Postman để gọi API.
- Nhấp vào + để thêm một tab mới.
- Chọn phương thức DELETE.
- Nhập URL của API xóa với book_id, ví dụ là
2
.
- Nhấp vào Send.
- Sau khi hoàn thành, sách với id
2
sẽ bị xóa.

-
Quay lại trang book_delete.
- Nhấp vào tab Monitor.
- Nhấp vào nút View X-Ray traces.

-
Tại trang CloudWatch.
- Nhấp vào Traces trên menu bên trái.
- Nhấp vào nút Run query.

- Sau đó, cuộn xuống và chọn dấu vết hiện tại với trạng thái OK.

-
Tại trang Trace 1-…. Bạn có thể thấy các phân đoạn con.
- Phân đoạn con Initialization: Đại diện cho giai đoạn khởi tạo của vòng đời môi trường thực thi Lambda. Trong giai đoạn này, Lambda tạo hoặc mở một môi trường thực thi với các tài nguyên đã cấu hình, tải xuống mã hàm và tất cả các lớp, chạy runtime và khởi tạo hàm.
- Phân đoạn con Invocation: Đại diện cho giai đoạn khi Lambda gọi hàm handler. Điều này bắt đầu với runtime và đăng ký phần mở rộng và kết thúc khi runtime sẵn sàng gửi phản hồi.
- Phân đoạn con Overhead: Đại diện cho khoảng thời gian xảy ra giữa thời điểm runtime gửi phản hồi và tín hiệu cho lần gọi tiếp theo. Trong thời gian này, runtime hoàn thành tất cả các tác vụ liên quan đến một lần gọi và chuẩn bị đóng băng sandbox.

-
Đi đến thư mục gốc của dự án fcj-book-store-sam-ws8. Mở thư mục fcj-book-store-sam-ws8/fcj-book-shop/book_delete.
-
Tạo một tệp có tên requirements.txt
với nội dung dưới đây.

-
Mở tệp fcj-book-store-sam-ws8/fcj-book-shop/book_delete/book_delete.py và sao chép nội dung dưới đây vào tệp đó.
from aws_xray_sdk.core import patch_all
patch_all()

-
Mở terminal của bạn và chạy các lệnh dưới đây tại thư mục gốc của dự án fcj-book-store-sam-ws8.
sam build
sam validate
sam deploy

-
Quay lại trang book_delete.
- Nhấp vào tab Code.
- Kiểm tra xem hàm book_delete đã được cập nhật chưa.

-
Mở Postman để gọi lại API DELETE với id 4
.

-
Quay lại trang CloudWatch.
- Nhấp vào Traces trên menu bên trái.
- Nhấp vào nút Run query.

- Sau đó, cuộn xuống và chọn dấu vết hiện tại với trạng thái OK.

-
Tại trang Trace 1-…. Bạn có thể thấy thông tin chi tiết hơn so với dấu vết trước đó.
