午前2時14分、チェックアウトが失敗しています。 2時15分には調査が動いています。
ウェイトリストに登録アラートが発火する。Polylaneが拾い上げる。 本物かノイズか、1分以内に答えます。
Elevated error rate on payments-api
- 02:14:07 Alert received
Datadog · payments-api error rate · occurrence #1
- 02:14:09 Triage started
Fetching the monitor query and metrics 30 min before, 5 min after the firing.
- 02:14:58 Triaged as an incident
Severity high. Error rate 41× the 30-minute baseline, clustered on POST /v1/charges; deploy f3a9c12 landed 18 minutes before the firing.
- 02:15:02 Investigation started
3 hypotheses · 3 passes each
- 02:31:44 Alert fired again (occurrence #2)
Folded into this issue after 16 quiet minutes; the running investigation was nudged.
- 03:06:12 Alert recovered
Provider recovery received. Issue resolved.
証明できるまで掘ります。 仮説は両側から論じられ、判定には証拠が必要です。
What I did
I queued an autofix that restores the Hyperdrive pool hd-prod in the coreplane/checkout-edge repo with:
max_connectionsrestored from 5 to 50 on the pool binding- a regression test that fails when checkout queues on the pool
wrangler.jsoncconfigured to deploy ascheckout-edge
This gives Boris a PR with deployable code. Once merged, running wrangler deploy will replace the degraded worker with the fixed version.
The root cause report has been updated with the occurrence #2 evidence: Root Cause: checkout-edge Latency Degradation (Recurring).
AI can make mistakes. Please double check cited sources.
インシデントは、次回の会議ではなく修正で終わります。 根本原因が見つかり、修正が書かれ、レビューを待っています。
Cap retries on the checkout webhook worker #491
polylanemain from polylane/autofix/chat/k3x9f2-4e7d21a Retries on the checkout webhook worker were unbounded: a failing delivery re-queued itself forever and amplified load on payments-api. This caps delivery at 5 attempts with exponential backoff and dead-letters the payload after the last one.
What changed
worker/deliver.ts gains MAX_DELIVERY_ATTEMPTS = 5 and backoff between attempts; exhausted payloads land in checkout-webhooks-dlq instead of re-queueing.
Validation
npm test — 214 passed. A forced failing delivery stopped after 5 attempts and appeared in the dead-letter queue.
Polylaneの仕組み。 システムを学び、見守り、調査し、行動します。
-
まずシステムを学ぶ
コンテキストグラフが、クラウド、リポジトリ、オブザーバビリティプロバイダーにわたるすべてのリソースと依存関係をマッピングします。エージェントは推測ではなく実際のトポロジーに基づいて推論します。
-
しきい値のない検出
すべてのプロバイダーに組み込みのチェックがあり、さらに保存済みのクエリやダッシュボードからチェックが生成されます。統計的な判定とエージェントが一緒に決め、改善がイシューになることはありません。
-
証拠を示す調査
すべての主張は、その裏付けとなるクエリ、ログ行、変更記録にリンクします。証拠のない判定は「不確定」に戻ります。
-
書き込みは獲得するもので、前提ではない
アカウントは読み取り専用で接続されます。ロールバックは既定で無効で、レート制限され、記録に残ります。コードの変更は通常のレビューを通ります。
-
毎週、鋭くなる
メモリー、日次ノート、実データに対して再確認された監視クエリ。7月の調査は6月の調査から学びます。
今動いているものにつながります。 読み取り専用で接続して、始めてください。
よくある質問
Polylaneは私を呼び出しますか?
Polylaneはページャーではなく、ページャーになろうともしていません。通知はメール、Slack、コンソールで行い、自ら検出したcriticalとhighの重大度のイシューに限ります。目標は起こされる回数を減らすことです。イシューは調査済みの状態で届きます。
夜間にイシューが検出されたらどうなりますか?
トリアージが本物だと確認し、調査が自動で始まり、仮説が実際のテレメトリーに対して並行して検証されます。朝にはイシューに判定、その裏付けとなる証拠、次の一手の提案が付いています。自動修正が有効な場所では、修正はすでに書かれてレビューを待っています。
Polylaneはどのアラートソースを取り込みますか?
Datadog、Honeycomb、Axiom、Grafana Cloud、Better Stack、Sentry、CloudWatch、Vercel、Render、Cloudflareに加え、その他すべてのための汎用Webhookです。各ソースはスコープ付きのテレメトリートークンで認証し、すべての発火がトリアージ済みのイシューになります。
Polylaneが本物のインシデントをノイズと判定したらどうなりますか?
「インシデントではない」は判定であり、削除ではありません。イシューは根拠を添えてコンソールに残り、何に対してもワンクリックで調査を始められます。判定には証拠が必要で、データに到達できなかった調査が確認済みになることはありません。
調査はどれくらい実行されますか?
自動調査には直近24時間あたりの上限があります。Freeプランでは10件、有料プランでは自分で決めた上限です。手動で始めた調査は数えられません。料金はpolylane.com/pricingで公開しています。