起きたことを知る。
直ったことを確かめる。
Pathrule Signalsは、アプリのランタイムでの動きを、それを変更するエージェントにつなぎます。エラーとイベントは発生元のコードパスごとにグループ化され、コーディングエージェントはそれを読むことができます。修正は、次のリリースで裏づけられたときにだけ検証済みとみなされます。
- submitOrderでTypeErrorリリース2.4.0、37件発生、ベースライン
- エージェントが修正を記録主張であって、証明ではない
- リリース2.4.1を観測中60分、エンベロープ3件、チェックアウト成功3件
- 検証済み新しいリリースで再発なし
2.4.1以降で1件でも発生すると、グループは再発(recurred)に戻ります。
動かし方は3つ。
- オープンソースのSDKStandaloneApache-2.0のSDKが、あなたが運用するHTTPコレクターに送信します。PathruleのアカウントもCloudも不要です。
- アカウント不要Pathrule Localイベントはお使いのマシン上のPathruleホストに送られ、そこで保存、グループ化、検証され、エージェントが読めるようになります。
pathrule init --localを一度実行するだけです。 - マネージドPathrule Cloud書き込み専用のプロジェクトキーと保持期間を備えたマネージドな取り込みで、エージェントはあなたのセッションで読み取ります。Pro、Team、Enterpriseに含まれます。
StandaloneとLocalは、アカウントも有料プランも不要です。Cloud Signalsは、Pro、Team、Enterpriseに含まれます。
計装は一度だけ。
import { pathrule, httpCollector } from "@pathrule/signals"; pathrule.init({ destination: httpCollector({ url: "https://collector.example.com/signals" }), environment: "production", release: { version: "2.4.0", commit: process.env.GIT_SHA },}); pathrule.error(error, { node: "/apps/web/checkout", flow: "checkout" });pathrule.event("order placed", { node: "/apps/web/checkout", flow: "checkout", meta: { outcome: "success" },});
すべてのエラーとイベントが、コードパスとフローを示します。検証を可能にするのはリリースの識別情報で、修正を証明するのは同じフローでの成功です。
検証済みとは、ランタイムがそう示すこと。
- grouped
- 環境、種類、フィンガープリントごとに1つのグループで、ラベル、フロー、コードパスから作られます。再送されたエンベロープは1回だけ保存されます。
- observing
- より新しいリリースで観測が始まります。ベースラインのリリース、リリース情報のないイベント、修正より前のものは、一切カウントされません。
- verified
- 少なくとも60分間、新しいリリースからのエンベロープ3件、そしてグループ自身のフローでの成功3件。
- quiet
- 証明するフローを持たないグループについて、24時間とエンベロープ3件の間、再発がないこと。
- recurred
- 検証済みになった後でも、より新しいリリースで1件でも発生した場合。グループは再びアクティブになります。
修正の記録は主張であって、証明ではありません。グループを解決できるのは、より新しいリリースからのランタイムのエビデンスだけで、誰も手作業では解決しません。
エージェントが、それを読む。
Runtime: 2 active issues under apps/web/checkout (1 came back after a fix).Inspect with pathrule_runtime_events.
- pathrule_runtime_events
- 検証の状態、記録された修正、カバレッジとあわせてグループを読み取ります。パス、種類、環境、状態で絞り込めます。
- pathrule_runtime_events_resolve
- グループのリビジョンに対して修正を記録します。これは主張であり、それが成り立つかどうかはランタイムが判断します。
- pathrule instrument events
- 同じグループをターミナルで表示します。たとえば--verification recurredを指定します。
ランタイムの行に含まれるのは件数だけで、報告された内容は含まれません。また、エージェントがSignalsから読むものはすべて、信頼できない観測として明示されます。
よくある質問
Pathruleのアカウントは必要ですか?
いいえ。StandaloneモードではSDKがあなたの運用するコレクターに送信し、Pathrule Localではお使いのマシン上のホストがイベントを保存、検証します。アカウントが必要なのは、Pathrule Cloudを使う場合だけです。
Signalsは分析ツールですか?
いいえ。ユーザー、セッション、ファネルといった概念はありません。記録するのは、エラーと、フローが正しく動いていることを示すイベントで、コードパスごとにグループ化されます。SDKの設定にあるスクラブ用のフックで、機微な情報を送信前に取り除くこともできます。
何をもって修正は検証済みになりますか?
より新しいリリースからのエビデンスです。少なくとも60分間の観測、そのリリースからのエンベロープ3件、そしてグループ自身のフローでの成功3件が必要です。記録された修正は主張にすぎず、その後に1件でも発生すると、グループは再発(recurred)に戻ります。
Pathrule Cloudで何が加わりますか?
Pro、Team、Enterpriseでは、書き込み専用のプロジェクトキーを使ったマネージドな取り込み、保持期間、Cloudでの修正の記録と検証、そしてあなた自身のセッションによるエージェントからのアクセスが加わります。Teamの組織では、1つのCloud Signalsの利用枠をメンバー全員で共有します。