跳至主要內容
Telemetry
瀏覽說明文件
概念與 SQL 模式更新於 2026年7月27日由 Telemetry 編輯團隊和產品團隊審查閱讀約需 2 分鐘

讓程式設計代理使用這篇文件

開啟 Claude Code、Codex、Cursor 或其他編碼代理的集中提示包,然後將其適應此處介紹的工作流程。

本頁內容
  1. 選擇耐用型別
  2. 瞭解缺失值
  3. 發展而不改變意義

事件資料型別與可空性

Telemetry 從結構化事件推斷資料表架構。靈活的攝取消除了預先的遷移步驟,但有用的 SQL 仍然取決於穩定的欄位含義和型別。

選擇耐用型別

使用字串表示識別符號和受控類別,使用數字表示將要計算的值,使用布林值表示真正的兩種狀態事實,使用時間戳表示時刻。

價值 推薦領域
持續時間 數值 duration_ms
標準化金額加上源貨幣
識別符號 字串,即使它只包含數字
結果 受控字串,例如 successfailedtimeout
特徵標誌 當恰好有兩個含義時為布林值
活動時間 時區限定輸入標準化為 timestamp_utc

不要在一個部署中傳送 "842" 一段時間,而在另一部署中傳送 842。請勿將 status 重複用於一項服務中的 HTTP 程式碼和另一項服務中的工作流程類別。

瞭解缺失值

日誌 API 在標準化過程中刪除空值、空物件和空陣列。因此,缺少欄位意味著該行上沒有儲存任何值;它並不意味著零、假、空字串或未知。

當缺席具有分析意義時,使用 IS NULL。僅當替換具有合理的商業意義時才使用 COALESCE

SELECT
  event_name,
  100.0 * SUM(CASE WHEN account_id IS NULL THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS missing_account_rate_pct
FROM product_events
GROUP BY event_name;

必填欄位空率配方 新增了卷保護和生產者版本上下文。

發展而不改變意義

新增可為空的欄位通常是相容的。更改欄位型別或重新定義現有類別則不然。當含義發生變化時,引入新欄位或 schema_version 並有意遷移查詢。

巢狀物件成為可查詢的點狀欄位。保持每個巢狀路徑穩定,並避免元素結構在事件之間發生變化的陣列。

在擴大生產合約之前,請檢查 圖式演化事件架構設計查詢巢狀JSON

相關產品功能

記錄穩定的事件名稱、型別明確的欄位,以及經過隱私審查的上下文。

內容責任與技術參考

Telemetry 編輯團隊負責維護本文;產品團隊審查功能行為、範例和適用範圍。

檢視編輯規範