活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 請求完成時間(UTC)。 |
| feature_flag | Utf8 | 受控功能標誌名稱。 |
| cohort | Utf8 | 推出或控制分配。 |
| release | Utf8 | 應用程式發布識別符號。 |
| status | Utf8 | 終端成功或失敗狀態。 |
| latency_ms | Int64 | 端到端請求延遲(以毫秒為單位)。 |
| environment | Utf8 | 部署環境。 |
DataFusion SQL
複製查詢
sql
SELECT
feature_flag,
cohort,
release,
COUNT(*) AS requests,
SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS errors,
100.0 * SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS error_rate_pct,
AVG(latency_ms) AS avg_latency_ms
FROM feature_rollout_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY feature_flag, cohort, release
ORDER BY error_rate_pct DESC, cohort;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
按群組劃分的推出錯誤率
綜合推出佇列的失敗率為 20%,而對照組則沒有。
rollout
20%
comparison 5%
control
0%
comparison 5%
| feature_flag | cohort | release | requests | errors | error_rate_pct | avg_latency_ms |
|---|---|---|---|---|---|---|
| new-checkout | rollout | api-88 | 5 | 1 | 20 | 300 |
| new-checkout | control | api-88 | 5 | 0 | 0 | 200 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1功能標誌、佇列和版本使比較可以在推出邊界上重現。
- 2錯誤率旁邊的請求量暴露出的比較太小,無法做出自信的決策。
- 3延遲仍保持相同的結果,因為部署可以在不增加錯誤的情況下回歸體驗。
需要決定的邊緣情況
- 分配必須足夠穩定,以便同一帳戶不會在比較視窗內切換群組。
- 比較同等流量和客戶組合,或透過審查的有界維度對結果進行細分。
- 使用置信區間和更長的視窗來得出不可逆轉的產品結論。
推薦儀表板
- 酒吧:error_rate_pct(按群組)
- 趨勢:請求、錯誤和延遲(按部署百分比)
- 資料表:按版本和最低樣本狀態劃分的功能標誌
讓查詢範例發揮作用
相關埋點和指南
定義源資料
此分析的事件模式
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。