活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 数据库故障时间。 |
| database_system | Utf8 | 数据库系统。 |
| operation_name | Utf8 | 受控的应用程序操作。 |
| sqlstate | Utf8 | 可移植的 SQLSTATE 代码(如果可用)。 |
| release | Utf8 | 应用发布。 |
| request_id | Utf8 | 安全父请求标识符。 |
DataFusion SQL
复制查询
sql
SELECT
database_system,
release,
operation_name,
sqlstate,
COUNT(*) AS failures,
COUNT(DISTINCT request_id) AS affected_requests
FROM database_error_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY database_system, release, operation_name, sqlstate
ORDER BY failures DESC, affected_requests DESC;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
SQLSTATE 导致的数据库故障
结帐时的序列化失败在该版本的数据库错误中占主导地位。
40001
184
comparison 176
23505
62
comparison 62
| database_system | release | operation_name | sqlstate | failures | affected_requests |
|---|---|---|---|---|---|
| postgresql | api-88 | checkout | 40001 | 184 | 176 |
| postgresql | api-88 | project-create | 23505 | 62 | 62 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1SQLSTATE 比对原始错误字符串进行分组更安全、更稳定。
- 2操作名称保留应用程序所有权。
- 3不同的请求估计面向客户的影响。
需要决定的边缘情况
- 并非每个驱动程序都一致地公开 SQLSTATE。
- 相同的 SQLSTATE 可能有不同的原因。
- 存储经过清理的错误类别,而不是完整的语句值或服务器消息。
推荐仪表板
- 条形:SQLSTATE 失败
- 趋势:按版本划分的失败情况
- 表:受影响的操作和请求计数
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。