Signalsの概要
Pathrule Signalsは、ランタイムのエラーとイベントを記録し、発生元のコードパスごとにグループ化します。コーディングエージェントからも読み取れるようにし、修正の効果は新しいリリースで得たエビデンスに基づいて検証します。
このページの内容
Pathrule Signalsは、アプリがランタイムで実際にどう動いたかを、そのコードを変更する開発者やコーディングエージェントにつなげます。オープンソースのSDKでコードを一度計装すれば、エラーと、フローが正常に動いていることを示すイベントが報告されます。報告には、それが属するコードパスとフロー、そしてそれを生んだリリースが含まれます。Signalsは受け取ったデータをグループ化して保持し、コーディングエージェントから読み取れるようにします。さらに、修正が本当に効いているかをランタイムのエビデンスに基づいて判定します。
できること
- コードを計装する。
pathrule.error()とpathrule.event()で発生した事象を報告します。それぞれがコードパス(node)とフローに紐づきます。クイックスタートを参照してください。 - イベントを収集する。 SDKはイベントをまとめてSignalsプロトコルのエンベロープに詰め、失敗時は再試行します。例外を投げてリジェクトすることはありません。
- グループ化する。 環境、種類、フィンガープリントの組み合わせごとに1つのグループを作ります。同じエラーが37回発生しても、確認すべき対象は1つにまとまります。
- 修正を検証する。 グループが検証済みになるのは、新しいリリースを十分な期間観測し、かつそのグループ自身のフローが成功した後だけです。検証とライフサイクルを参照してください。
- リリースをまたいで観測する。 新しいリリースが出ると観測をやり直します。以降のどのリリースでも発生すれば、グループはrecurredとして再オープンされます。
- エージェントに届ける。 エージェント連携により、コーディングエージェントのコンテキストにランタイム行が入り、作業中のパス配下のグループを読み取るためのツールが使えるようになります。
3つの動作モード
| モード | アカウント | イベントの送信先 | 得られるもの |
|---|---|---|---|
| Standalone | 不要 | 自分で運用するHTTPコレクター(httpCollector()経由) | SDKとプロトコル。イベントの保存と処理は自分で行います。 |
| Pathrule Local | 不要 | 手元のマシン上のPathruleホスト(pathruleLocal()経由) | 保存、グループ化、検証、エージェントからのアクセス、CLI。すべてローカルで完結します。 |
| Pathrule Cloud | Pathruleアカウント | マネージドな取り込み(pathruleCloud({ key })経由) | 保持と、自分のセッションによるエージェントからのアクセス。Pro、Team、Enterpriseで利用できます。 |
StandaloneとLocalはすべてのプランで利用でき、従量課金の対象外で、有料プランも必要ありません。Cloud SignalsはPro、Team、Enterpriseに含まれます。詳しくはCloud Signalsと料金を参照してください。
Signalsではないもの
- アナリティクスではありません。 ユーザー、セッション、ファネルの概念はありません。Signalsが記録するのは、コードパスごとにグループ化したエラーとフローの結果です。
- 自動修正ツールではありません。 Signalsは、何が起きたか、修正が効いたかを開発者とエージェントに伝えます。コードの変更は引き続き開発者とエージェントが行います。
- 手動の解決ボタンではありません。 修正の記録は主張にすぎません。グループを解決できるのはランタイムのエビデンスだけです。
提供内容
- SDK(
@pathrule/signals0.2.0、Apache-2.0):HTTPコレクター、Local、Cloudの各送信先と、プロトコルバージョン1を含みます。 - Pathrule Local: 手元のマシン上での保存、グループ化、検証、エージェント用ツール、
pathrule instrument eventsコマンドを含みます。 - Pathrule Cloud: マネージドな取り込みパイプライン、Localと同じポリシーによる修正の記録と検証、エンベロープの重複排除、自動保持を含みます。