跳转到内容
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。感谢归属,但不是必需的。该数据集不包含客户记录,并且不提供性能或业务成果保证。