儀表板

在問題進入生產環境前抓出來。 每一個 pull request 都對照線上實況審查,而不只是差異。

加入候補名單

警告在合併之前就到。 機制、證據與修法:就在你審查的地方。

github.com/coreplane/orders-api/pull/482

Add trigram index for order search #482

Open rvidal wants to merge 1 commit into main from order-search-trgm
Conversation 1 Commits 1 Checks 2 Files changed 1
polylane bot commented 2 minutes ago ···
Caution

Merging this pull request may degrade production (high impact).

Merging this blocks every write to orders while the index builds. migrations/0114_order_search_trgm.sql:3 adds CREATE INDEX … USING gin (search_text gin_trgm_ops) without CONCURRENTLY, and a plain CREATE INDEX takes a full write lock on orders for the whole build. Checkout sustains ~38 writes/s on that table; each one queues behind the lock until the build finishes.

To make this safe: build the index with CREATE INDEX CONCURRENTLY outside the transactional migration.

orders-db · writes per second · last 48h projected lock window
02040
-48h -24h now
every one of these writes blocks while the index builds

Polylane analysed de91b47 for production impact.

Some checks were not successful 1 failing and 1 successful check
ci / test Successful in 2m 4s Details
Polylane production impact Non-concurrent index build locks writes on orders Details
Merging is blocked

它改善程式碼,不只是把關。 缺少的檢測直接補在你的分支上。

Clouds prod-cloudflare Key queries

Key queries

31 active · 2 telemetry gaps

Generated from your telemetry and your connected code, judged on observed data: every candidate ran against a day of real data before it was kept.

Did any payment capture fail? code answered
logs: "payment capture failed for order {orderId}"
declared in apps/api/src/payments.ts
Is the checkout webhook retrying more than usual? telemetry answered
metric: webhook.delivery.retries · rate over 5m
baseline 0.4/min over the observed day
Is the nightly reconciliation completing? code answered
logs: "reconciliation complete" · count over 24h
quiet all day: healthy. Kept because the code provably emits it
Are D1 writes hitting rate limits? telemetry unanswerable
no series found for this question
kept as a telemetry gap
Re-confirmed on every discovery run: one thin run cannot wipe a good set.

而且合併之後它還在看。 漏過去的,會在生產環境被抓到。

Issues Critical latency degradation in checkout-edge worker Overview

Critical latency degradation in checkout-edge worker

Incident critical Polylane ·Detected 3 hours ago ·Last seen 4 minutes ago ·2 occurrences
OverviewInvestigationMetricsTimelineProperties
checkout-edge Cloudflare Worker

Critical latency degradation detected in checkout-edge worker: 18x+ P99 latency spikes sustained for 12 minutes

Causal metrics All metrics
Request Duration
414 ms ▲ 43.1σ
Wall Time
416 ms ▲ 43.0σ
CPU Time
14 ms ▲ 2.6σ
Blast radius
Search your cloud resources...
Graph Table
edge-gateway Cloudflare Worker ··· checkout-edge Cloudflare Worker ··· hd-prod Hyperdrive ··· payments-db PlanetScale ··· cart-svc Cloudflare Worker ···
Analysis Copy

Deploy 9f3c2a1 shrank the Hyperdrive pool hd-prod from 50 connections to 5. Under checkout load, requests queue on connection checkout and P99 rises 18× against the 30-minute baseline. Restoring the pool size restores latency.

Tags
service · checkout-edgeprovider · cloudflaredeploy · 9f3c2a1signal · wall_time_p99

Polylane 如何運作。 它學習你的系統、監看它、調查,然後行動。

  • 它先學習你的系統

    情境圖描繪出你的雲端、儲存庫與可觀測性供應商之間的每一個資源與依賴關係。代理依據真實的拓樸推理,而不是猜測。

  • 不靠閾值的偵測

    每個供應商都有內建檢查,再加上從你自己儲存的查詢與儀表板產生的檢查。一次統計分析與一個代理共同決定,而改善永遠不會引發問題。

  • 拿得出證據的調查

    每一項主張都連回背後的查詢、日誌行或變更記錄。沒有證據的判定會退回無法定論。

  • 寫入是掙來的,絕非理所當然

    帳戶以唯讀方式連接。復原預設關閉、受頻率限制,且留有記錄。程式碼變更走你平常的審查流程。

  • 它每週都更敏銳

    記憶、每日筆記與對照真實資料重新確認的監控查詢:七月的調查會從六月的學到東西。

它接上你已經在跑的一切。 以唯讀方式連接,然後開始。

常見問題。

AI pull request 審查是怎麼運作的?

Polylane 以應用程式的形式連接 GitHub,並對照每個 pull request 實際要部署到的即時基礎設施進行審查:情境圖、目前的遙測資料與最近的變更。判定以一則留言加上一個「Polylane production impact」檢查的形式送達。

它會擋住我的合併嗎?

只有在你希望它這麼做時。透過分支保護把「Polylane production impact」檢查設為必要,有風險的合併就會被擋下;讓它維持選用,判定就只是建議。

這是給 AI 產生的程式碼用的嗎?

它適用於所有程式碼。只是在沒有人仔細讀過變更時最重要:為 AI 產生的程式碼準備的安全網,和抓出手寫錯誤的是同一套審查。

這和 CI 有什麼不同?

CI 對程式碼執行你的測試。Polylane 對照生產環境審查變更:它所落地的設定、容量與依賴,以及它們此刻發出的遙測資料。它以檢查的形式出現在同一份清單裡,回答的是另一個問題。

它會自己合併或部署嗎?

不會。變更只會經由你的審查進入預設分支,而復原到先前已知正常的部署也維持關閉,直到你啟用為止。

更多使用情境

以代理的速度出貨。 每一次都對照生產環境審查。