跳至主要內容
Telemetry
Telemetry SQL 手冊

透過一個連線的 SaaS 遙測資料庫學習 SQL

追蹤帳戶從註冊到啟用、模型使用、後台工作、計費、API 故障和資料庫操作的整個過程。每節課都在本地針對相同的合成資料表執行,因此連線、版本比較和業務定義保持可見。

審閱者 Telemetry產品團隊 . 綜合資料契約、連線粒度、只讀 SQL、預期結果和解釋邊界. 審查標準和所有權

15

連線資料表

10953

確定性合成行

18

SQL 指導課程

資料集合約

十五張資料表,顯式業務連線鍵

合成的 account_id 將商業環境與產品、可靠性、人工智慧、工作和計費結果聯絡起來。更具體的識別符號連線部署和宣告的事件,同時保留每個工作流程中的粒度。不包含客戶記錄、提示、有效負載或憑據。

accounts6

一個綜合 SaaS 帳戶,具有客戶影響分析所需的維度和經常性收入。

每個帳戶一行。

account_id
檢視 5 欄位
account_id Utf8
穩定的合成帳戶識別符號。
plan Utf8
商業計劃位於樣本視窗末尾。
region Utf8
粗略託管或客戶區域。
signup_at Timestamp
當帳戶進入樣本佇列時。
monthly_revenue_usd Float64
綜合標準化每月經常性收入。
product_events21

用於啟用、採用和旅程分析的持久帳戶和使用者里程碑。

完成了一項產品里程碑。

account_iduser_idsession_id
檢視 9 欄位
timestamp_utc Timestamp
當里程碑完成時。
event_id Utf8
用於重複資料刪除的穩定識別符號。
account_id Utf8
透過綜合帳戶加入活動。
user_id Utf8
合成演員識別符號。
session_id Utf8
團體在一次存取中訂購了活動。
event_name Utf8
穩定的產品里程碑名稱。
feature Utf8
產品面對此次事件負責。
status Utf8
最終的里程碑成果。
release Utf8
產生事件的應用程式版本。
api_requests10

已完成 API 請求事件,具有穩定的路由、發布、延遲和客戶上下文。

一個已完成的 API 請求。

account_idrequest_id
檢視 7 欄位
timestamp_utc Timestamp
當請求完成時。
request_id Utf8
穩定的請求相關識別符號。
account_id Utf8
將請求加入到合成帳戶。
route_template Utf8
沒有原始識別符號的有界路線形狀。
status_code Int64
最終 HTTP 回應狀態。
latency_ms Float64
端到端請求持續時間。
release Utf8
服務於請求的應用程式發布。
llm_requests11

標準化提供商的使用、估計成本、重試和審查的產品結果欄位。

一個已完成的模型請求,包括提供程式作為單獨的行重試。

account_idrequest_id
檢視 12 欄位
timestamp_utc Timestamp
當提供者請求完成時。
request_id Utf8
穩定的模型請求識別符號。
account_id Utf8
將模型使用情況加入到合成帳戶中。
feature Utf8
使用該模型的產品工作流程。
provider Utf8
標準化模型提供者。
model Utf8
在請求時捕獲的提供者模型識別符號。
input_tokens Int64
提供商報告的輸入權杖計數。
output_tokens Int64
提供商報告的輸出權杖計數。
estimated_cost_usd Float64
版本化定價規則下的估計請求成本。
status Utf8
最終提供商請求結果。
retry_count Int64
此邏輯操作的自動提供程式重試計數。
accepted Boolean
使用者是否接受或儲存結果輸出。
job_runs7

嘗試級後台作業結果以及佇列和執行時間。

邏輯後台作業的一次嘗試。

account_idjob_id
檢視 9 欄位
timestamp_utc Timestamp
當嘗試達到最終結果時。
job_id Utf8
由重試共享的邏輯作業識別符號。
account_id Utf8
將工作影響加入到綜合帳戶中。
job_name Utf8
有界工作者操作名稱。
status Utf8
嘗試結果。
attempt Int64
單索引嘗試次數。
queue_wait_ms Float64
執行前等待的時間。
duration_ms Float64
工人執行時間。
error_type Utf8
受控失敗類別或成功時為空。
billing_events5

將產品行為和可靠性與商業環境聯絡起來的綜合訂閱結果。

一項已完成的計費生命週期事件。

account_idevent_id
檢視 6 欄位
timestamp_utc Timestamp
當計費事件完成時。
event_id Utf8
穩定的提供者事件識別符號。
account_id Utf8
透過綜合帳戶加入活動。
event_name Utf8
標準化的計費生命週期結果。
amount_usd Float64
合成標準化量。
status Utf8
最終計費事件結果。
users24

無需個人資料即可進行角色、生命週期和採用分析的綜合使用者。

每個合成使用者一行。

user_idaccount_id
檢視 5 欄位
user_id Utf8
穩定的合成使用者識別符號。
account_id Utf8
擁有合成使用者的帳戶。
role Utf8
用於細分的粗略產品角色。
created_at Timestamp
當合成使用者加入帳戶時。
is_admin Boolean
使用者是否可以管理該帳戶。
releases12

用於比較發布前後的服務行為的部署維度。

每個服務版本一行。

releaseservice
檢視 5 欄位
release Utf8
服務事件發出的版本。
service Utf8
接收部署的服務。
deployed_at Timestamp
UTC 部署時間。
owner_team Utf8
合成團隊負責服務。
change_type Utf8
粗放分類。
incidents2

宣佈的事件視窗用於衡量受影響的帳戶、錯誤量和恢復。

每個已宣告的事件佔一行。

incident_idservice
檢視 6 欄位
incident_id Utf8
穩定的合成事件識別符號。
service Utf8
主要受影響的服務。
started_at Timestamp
宣佈的影響視窗的開始。
resolved_at Timestamp
宣佈的影響視窗結束。
severity Utf8
綜合操作嚴重性。
root_cause_category Utf8
粗略的、不敏感的原因分類。
service_events10800

用於現實趨勢、百分位數、發布和事件分析的 30 天服務事件事實資料表。

一項已完成的請求或後台作業。

account_idreleaseserviceincident_id
檢視 11 欄位
timestamp_utc Timestamp
UTC 完成時間戳。
event_id Utf8
用於重複資料刪除的穩定事件識別符號。
account_id Utf8
綜合客戶帳戶受操作影響。
service Utf8
完成操作的服務。
event_name Utf8
操作完成時的穩定事件名稱。
status Utf8
最終成功或錯誤結果。
latency_ms Int64
端到端操作延遲(以毫秒為單位)。
release Utf8
該操作的服務版本處於活動狀態。
incident_id Utf8
當事件處於影響視窗時宣佈事件。
region Utf8
粗略綜合帳戶區域。
error_type Utf8
低基數失敗類別,或成功時為空。
database_operations16

透過查詢指紋、版本、延遲和 SQLSTATE 結果標準化資料庫操作。

1.完成資料庫操作。

account_idservicerelease
檢視 12 欄位
timestamp_utc Timestamp
操作完成時間(UTC)。
operation_id Utf8
穩定執行識別符號。
account_id Utf8
發起操作的帳戶。
service Utf8
發出查詢的應用程式服務。
database_name Utf8
邏輯資料庫名稱。
query_fingerprint Utf8
規範化查詢族。
operation Utf8
SQL 操作型別。
status Utf8
操作結果。
duration_ms Int64
端到端持續時間(以毫秒為單位)。
rows_affected Int64
返回或更改的行。
release Utf8
應用發布。
sqlstate Utf8
操作失敗時的 SQLSTATE 程式碼。
database_pool_samples12

時間點連線池壓力、等待時間和獲取超時。

一個連線池範例。

servicedatabase_namerelease
檢視 11 欄位
timestamp_utc Timestamp
UTC 取樣時間。
service Utf8
應用服務。
pool_name Utf8
連線池名稱。
database_name Utf8
目標資料庫。
active_connections Int64
已簽出連線。
idle_connections Int64
可用的空閒連線。
max_connections Int64
池連線限制。
acquire_wait_ms Int64
連線獲取等待。
timed_out Boolean
獲取是否超時。
region Utf8
部署區域。
release Utf8
應用發布。
database_lock_events6

解決了阻塞和阻塞操作系列的鎖等待和死鎖問題。

觀察到的一種資料庫鎖等待。

servicedatabase_namerelease
檢視 11 欄位
timestamp_utc Timestamp
等待 UTC 觀察時間。
database_name Utf8
受影響的資料庫。
service Utf8
阻止的應用程式服務。
blocked_operation Utf8
被阻止的查詢系列。
blocking_operation Utf8
阻止查詢系列。
lock_type Utf8
資料庫鎖類。
wait_ms Int64
觀察鎖等待。
resolved Boolean
等待是否解決。
deadlock Boolean
等待是否陷入僵局。
transaction_id Utf8
被阻止的交易識別符號。
release Utf8
應用發布。
replication_samples12

運算元據庫、CDC 和搜尋的副本和下游消費者滯後。

一份複製消費者樣本。

consumer_namerelease
檢視 8 欄位
timestamp_utc Timestamp
UTC 取樣時間。
consumer_name Utf8
副本或下游消費者。
source_type Utf8
複製機制。
region Utf8
消費區域。
lag_seconds Int64
觀察到複製滯後。
backlog_bytes Int64
未應用的積壓(以位元組為單位)。
status Utf8
消費者健康分類。
release Utf8
應用發布。
migration_runs9

應用程式資料庫遷移執行,包括失敗和回滾。

一次遷移執行。

servicedatabase_namerelease
檢視 8 欄位
timestamp_utc Timestamp
遷移完成時間(UTC)。
migration_id Utf8
遷移識別符號。
service Utf8
擁有服務。
database_name Utf8
目標資料庫。
release Utf8
應用發布。
status Utf8
遷移結果。
duration_ms Int64
遷移持續時間。
error_type Utf8
故障等級(如果存在)。

加入前減少

在新增帳戶和收入上下文之前,摺疊業務粒度的請求、嘗試或里程碑。

施工合成

該資料集是確定性的、版本化的,並且對於趨勢和百分位數來說足夠大。它展示的是邏輯而不是客戶基準。

口譯是課程的一部分

每個查詢都會列出結果無法支援的分母、業務決策和宣告。

SQL 方言相容性

DuckDB 中的原型,附帶經過 DataFusion 測試的語法

瀏覽器實驗室使用 DuckDB,因此資料永遠不會離開頁面。 Telemetry 生產查詢使用 Apache DataFusion。這些課程有意保留在他們共享的 SQL 介面中;當功能不同時,請在儲存儀表板或警示之前使用下面的製作表格。

使用案例瀏覽器實驗室Telemetry / DataFusion指導
時間桶date_trunc('日', timestamp_utc)date_trunc('日', timestamp_utc)共享語法;將儲存桶保留為 UTC。
條件計數SUM(CASE WHEN ... THEN 1 ELSE 0 END)SUM(CASE WHEN ... THEN 1 ELSE 0 END)共享語法和顯式分母。
大約p95approx_quantile(latency_ms,0.95)approx_percentile_cont(latency_ms,0.95)不同引擎的函式名稱有所不同。
安全劃分值 / NULLIF(總計, 0)值 / NULLIF(總計, 0)共享語法;當整數除法很重要時進行強制轉換。
基礎入門

總結每日產品活動

使用者每天完成哪些里程碑?

從一個事件資料表開始,將持久產品里程碑分組到 UTC 天,並將成功的數量與所有嘗試分開。

資料集和查詢保留在此瀏覽器中。

Published expected result

每日成功的產品里程碑

activity_dayeventssuccessful_eventsactive_accounts
2026-07-01221
2026-07-02442
2026-07-03322
2026-07-04441
2026-07-05332
2026-07-06221
2026-07-08111
2026-07-09111
2026-07-12111

如何讀取查詢

  • UTC 日期源自事件時間戳而不是客戶端提供的日期標籤。
  • 事件量和不同的活躍帳戶回答了不同的問題,因此兩者都保持可見。
  • 狀態條件會阻止失敗的整合嘗試被計為已完成的里程碑。

SQL 無法做出的決定

  1. 1決定重試和重複的里程碑是否應保持可見。
  2. 2在將其視為採用之前,排除內部、測試或機器人帳戶。
  3. 3比較最近幾天時使用完整的時間段。

繼續本課

從實驗室轉移到您自己的活動合約

保留分析粒度和連線邏輯,然後用您自己的穩定事件名稱和隱私批准的識別符號替換合成資料表。在將查詢提升到儀表板或警示之前,與擁有閾值和商業定義的團隊一起驗證它們。

資料集的使用和來源

Telemetry 建立了這個確定性合成資料集,用於學習、測試、內部評估和範例。您可以出於這些目的複製和調整行、架構和課程 SQL。感謝歸屬,但不是必需的。該資料集不包含客戶記錄,並且不提供效能或業務成果保證。