活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 浏览器错误时间(UTC)。 |
| route_template | Utf8 | 没有标识符的稳定客户端路由。 |
| release | Utf8 | 前端构建或发布标识符。 |
| error_fingerprint | Utf8 | 标准化错误类别和帧签名。 |
| session_id | Utf8 | 隐私安全的会话标识符。 |
| environment | Utf8 | 部署环境。 |
DataFusion SQL
复制查询
sql
SELECT
route_template,
release,
error_fingerprint,
COUNT(*) AS errors,
COUNT(DISTINCT session_id) AS affected_sessions
FROM frontend_error_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY route_template, release, error_fingerprint
ORDER BY affected_sessions DESC, errors DESC
LIMIT 20;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
前端错误影响的会话
结帐渲染错误具有最广泛的会话影响和最高的重复量。
payment-form-render
121
comparison 184
editor-state-null
74
comparison 96
result-card-image
51
comparison 58
| route_template | release | error_fingerprint | errors | affected_sessions |
|---|---|---|---|---|
| /checkout | web-103 | payment-form-render | 184 | 121 |
| /projects/:id | web-103 | editor-state-null | 96 | 74 |
| /search | web-102 | result-card-image | 58 | 51 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1路由模板和规范化指纹可防止 URL 和堆栈行详细信息因一次故障而碎片化。
- 2不同的会话会根据一个损坏的浏览器会话中的重复错误来单独估计爆炸半径。
- 3发布分组使回归可见,而无需假设最新版本导致每个当前错误。
需要决定的边缘情况
- 不要在浏览器错误事件中发送原始页面内容、表单值、访问令牌或完整 URL。
- 源映射和指纹更改可以在各个版本之间拆分相同的缺陷。
- 如果随着时间的推移对计数进行比较,抽样必须保留记录的比率。
推荐仪表板
- 条:affected_sessions(错误指纹)
- 趋势:按版本划分的错误
- 表:安全浏览器上下文的最新错误
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。