Ba tín hiệu trả lời ba câu hỏi khác nhau, không thay thế cho nhau:
- Metric — số liệu tổng hợp theo thời gian (request/s, tỉ lệ lỗi, độ trễ, CPU). Trả lời "có đang hỏng không, hỏng từ lúc nào, mức độ ra sao". Rẻ, giữ được lâu, nhưng không cho biết chi tiết một request cụ thể.
- Trace — đường đi của một request qua nhiều service, gồm các span có thời lượng. Trả lời "chậm ở chặng nào, service nào gọi service nào".
- Log — sự kiện rời rạc kèm ngữ cảnh. Trả lời "cụ thể chuyện gì đã xảy ra trong lần đó": giá trị tham số, stack trace, mã lỗi từ bên thứ ba.
Thứ tự thực tế khi có sự cố: metric phát hiện và khoanh vùng (dashboard cho thấy p99 của service checkout tăng lúc 14:05) → trace chỉ ra chặng nghi ngờ (span gọi payment mất 3s) → log của chặng đó cho nguyên nhân (timeout kết nối tới cổng thanh toán).
Đi ngược lại — mở log trước — thường tốn thời gian vì bạn chưa biết cần đọc log của service nào, khoảng thời gian nào.