07 Kiểm thử, lỗi, và sửa
Tiêm một lỗi đã biết, chẩn đoán nó qua ClickStack, áp dụng bản sửa, và chứng minh đã phục hồi.
Kết quả
Trong khoảng 20 phút, bạn sẽ chạy qua một sự cố từ lúc lỗi tới lúc phục hồi đã được kiểm chứng. Phần này tiếp nối trực tiếp từ Module 06 và dùng ClickStack MCP đã cấu hình ở Module 00.
Bước 1 — Chọn một lỗi
Hãy bắt đầu với Lỗi 01. Lỗi 02 là một bài tập ngắn thứ hai; Lỗi 03 cần một tập dữ liệu lớn hơn để lỗi xảy ra một cách đáng tin cậy.
| Branch | Lỗi mong đợi | Build lại |
|---|---|---|
fault/01-map-not-loading | Các polygon trên bản đồ biến mất; các card khác vẫn hoạt động | frontend |
fault/02-zone-stats-500 | Dữ liệu bản đồ zone lỗi với HTTP 500 | backend |
fault/03-slow-dashboard | Request xu hướng bị timeout; chỉ dùng với dữ liệu nhiều tháng | backend |
Bước 2 — Tiêm lỗi và tái hiện nó
Ví dụ dưới đây tiêm Lỗi 01 trong khi vẫn giữ lại mọi phần việc local của bạn:
cd "$(git rev-parse --show-toplevel)"
git stash push --include-untracked -m "before-module-07"
git switch build-workshop-v1
git switch fault/01-map-not-loading
cd workshops/build_workshop/app
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build frontendHãy mở một phiên browser mới tại localhost:8080. Bản đồ rỗng là điều bình thường lúc này; một lỗi ở nơi khác không thuộc tình huống này.
Bước 3 — Chẩn đoán từ bằng chứng
Hãy đưa cho agent triệu chứng, không phải câu trả lời:
Using the clickstack MCP, investigate the current workshop failure.
Correlate frontend and backend telemetry, identify the root cause, and cite the exact
events, request, response content type, or trace that supports the conclusion.
Do not edit code yet.Với Lỗi 01, hãy xem thêm ClickStack → Client Sessions. Bằng chứng hữu ích là một lỗi ở frontend và một lần parse resource thất bại; các trace back end khỏe mạnh cũng là bằng chứng vì chúng thu hẹp phạm vi ảnh hưởng.

Trước khi sửa bất cứ thứ gì, hãy ghi lại:
- thành phần bị lỗi;
- bằng chứng chứng minh điều đó; và
- một phép kiểm phục hồi mà sẽ thất bại trước khi sửa và thành công sau khi sửa.
Bước 4 — Sửa và build lại
Hãy yêu cầu agent thực hiện thay đổi nhỏ nhất giải quyết được nguyên nhân đã được chứng minh, rồi build lại service bị ảnh hưởng. Với Lỗi 01:
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build frontendVới Lỗi 02 hoặc 03, hãy thay frontend bằng backend.
Hãy mở một phiên browser mới. Triệu chứng ban đầu phải biến mất, và ClickStack phải không hiển thị lỗi khớp nào mới. Các sự kiện của sự cố cũ vẫn còn trong khoảng thời gian đã chọn; hãy so sánh timestamp thay vì mong đợi lịch sử biến mất.
Bước 5 — Trở về đường cơ sở sạch
Hãy giữ lại bản sửa bạn đã thử, phục hồi build-workshop-v1, và build lại cả hai service của ứng dụng:
cd "$(git rev-parse --show-toplevel)"
git stash push --include-untracked -m "module-07-fix"
git switch build-workshop-v1
cd workshops/build_workshop/app
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build frontend backendKiểm tra hoàn thành
- Triệu chứng được tiêm vào đã xuất hiện trước khi sửa.
- Agent đã dẫn ra telemetry chứng minh nguyên nhân gốc.
- Cùng phép kiểm phục hồi đó thành công sau khi sửa.
- Một phiên mới không tạo ra lỗi khớp nào mới.
git branch --show-currenttrả vềbuild-workshop-v1.
Tiếp tục tới 08 Chat và Langfuse.