快速開始
這份流程使用支援的 Linux 主機與明文 HTTP/1.1 應用程式,並以 command mode 監督它。請將 ./my-app 替換成要監督的應用程式。
檢查主機
標題為「檢查主機」的章節chronicle doctor開始錄製前,先修正回報的平台、cgroup、BTF、能力或內嵌程式問題。doctor 不會修改主機。
錄製行為
標題為「錄製行為」的章節chronicle record --name checkout -- ./my-appChronicle 會先掛接擷取,再啟動應用程式。應用程式結束、按下 Ctrl+C,或明確的 --duration 到期時,錄製就會停止。錄製期間,請從另一個終端機送出具代表性的請求。
未指定 --duration 時,錄製會持續到應用程式結束或停止為止。WAL 的實體容量上限為每個 epoch 4 GiB;父 recording 沒有總容量上限。
找到錄製內容
標題為「找到錄製內容」的章節chronicle listchronicle inspect checkout可以使用 latest、rec_<uuid>、單獨的 UUID 或完全相符的名稱指定 recording。inspect 會摘要端點、操作、遺失警告與 replay eligibility,但不會列出擷取到的 body 或任意 header 值。
重播到新的複本
標題為「重播到新的複本」的章節chronicle replay checkout -- ./my-appcommand mode 會在啟動 target 前完成規劃,找出一個由該 scope 擁有的 loopback listener;只有通過與 target 無關的 policy checks 後才會重播。對所擁有的 listener 的執行與讀取會自動授權;除非明確授權,否則寫入與其他操作都會維持拒絕。
對於已經執行中的應用程式,只能在 target 使用 loopback IP 字面值,並提供所有必要的 gates:
chronicle replay checkout \ --target http://127.0.0.1:8080 \ --allow-host 127.0.0.1 \ --allow-read \ --execute只有在 recording 與 target 都已準備好接受寫入操作時,才加入 --allow-write。Chronicle 永遠不會把記錄中的 production 目的地當作 fallback。
檢查機器可讀的結果
標題為「檢查機器可讀的結果」的章節所有公開命令都接受全域 format 選項:
chronicle --format json listchronicle --format json inspect checkoutchronicle --format json replay checkout -- ./my-appJSON 輸出會在有明確上限的操作完成後才產生。工具整合請使用 JSON;互動式診斷則保留人類可讀的輸出。