実際の挙動を、リプレイ可能な証拠に。

アプリケーションが実際に行ったことを記録します。Chronicle はキャプチャした証拠をローカル WAL に永続化し、canonical session へ変換して、明示的に認可した loopback ターゲットへリプレイします。

現在の対応範囲Linux · 平文 HTTP/1.1 · ローカルファイルシステム

観測したトラフィック永続化境界認可済みターゲット
観測したトラフィックを、明示的に認可したリプレイへつなぐ経路。

観測したトラフィックを、明示的に認可したリプレイへつなぐ経路。 キャプチャ → WAL → ETL → canonical session → リプレイ

実際のトラフィックは、すでに回帰テストの証拠です。

手書きの fixture は、開発者が明示的に書いた内容しか表せません。Chronicle は発生した挙動、socket の証拠、順序付きバイト、プロトコルレベルのリクエストとレスポンスの関係から始めます。アプリケーション側に計測コードを追加する必要はなく、本番の宛先をリプレイへ持ち込みません。

ソースに計測を埋め込まず、ワークロードの外部からキャプチャする。

トラフィックから持ち運べる記録へ。

各段階にはひとつの役割があります。Capture は観測し、WAL は永続化されたプレフィックスを権威にし、ETL は再構成し、canonical model はリプレイからキャプチャとストレージの仕組みを切り離します。

  1. キャプチャ

    監視対象のコマンド、プロセス、cgroup の外部から接続します。アプリケーション側に計測コードを追加せず、socket のライフサイクルと平文 payload の証拠を観測します。

    socket → 証拠
  2. WAL

    証拠を分割 WAL v1 へ追記します。コミットマーカーと同期によって、中断後に下流が信頼できる範囲を定めます。

    追記 → commit
  3. ETL

    復旧したコミット済みプレフィックスを読み、上限付きの HTTP/1.1 session を再構成し、損失を記録して、完成した epoch ごとに再現可能な canonical session を公開します。

    復元 → 変換
  4. canonical session

    プロトコルや保存先に依存しない記録として、接続、操作、完全性、リプレイ属性を保存します。

    公開 → 検査
  5. リプレイ

    まず計画します。認可した loopback ターゲットだけに実行します。explicit-target mode は `--execute` を指定するまで dry-run のままです。記録された本番宛先へフォールバックしません。

    計画 → 検証

解釈より先に永続化。操作は認可してから。

永続化はキャプチャの一部です。

WAL は後段がクラッシュしたときに消えてよい内部キューではありません。復旧は WAL 内の最後の有効なコミットマーカーを権威とし、ETL はその境界から処理します。

リプレイは意図的にキャプチャより難しい。

通信せずに計画を検査できます。明示的なターゲット実行には loopback の対応、ホストの一致、操作の認可、`--execute` が必要で、書き込みには `--allow-write` も必要です。

手元の CLI から始める。

最短の実用的な流れはコマンドに表れています。準備状態を確認し、ワークロードを記録し、結果を検査して、新しく起動した監視対象のコピーへリプレイします。

chronicle / 公開コマンド

$ chronicle doctor
$ chronicle record --name checkout -- ./my-app
$ chronicle list
$ chronicle inspect checkout
$ chronicle replay checkout -- ./my-app

以下は現在公開されている 0.1.x のインターフェースです。出力は意図的に省略しています。機械可読な契約が必要なら `--format json` を使います。

小さく、明確な境界。

現在使えるもの

Linux の上限付き平文 HTTP/1.1 のライブキャプチャ、全プラットフォームの fixture 記録、ローカル保存、安全な loopback リプレイ、`doctor` の準備状態チェック。

未実装

TLS 復号、HTTP/2 以降、PostgreSQL/S3 保存、保存時暗号化、包括的なデータ秘匿化、Docker と Kubernetes のパッケージング。

コマンドを実行する前に、境界を読む。

Chronicle は初期段階ですが実行できるソフトウェアです。ドキュメントは安全な手順、運用上の上限、正確な CLI 契約を近くに置きます。