活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 任务完成时间。 |
| route_template | Utf8 | 稳定的页面路由。 |
| release | Utf8 | 前端构建标识符。 |
| duration_ms | Float64 | 观察到的主线程任务持续时间。 |
| interaction_related | Boolean | 任务是否与测量的交互重叠。 |
DataFusion SQL
复制查询
sql
SELECT
route_template,
release,
COUNT(*) AS observed_tasks,
SUM(CASE WHEN duration_ms > 50 THEN 1 ELSE 0 END) AS long_tasks,
SUM(CASE WHEN duration_ms > 50 THEN duration_ms - 50 ELSE 0 END)
AS blocked_time_ms,
100.0 * SUM(CASE WHEN duration_ms > 50 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS long_task_rate_pct
FROM browser_task_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY route_template, release
ORDER BY blocked_time_ms DESC;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
通过路由阻塞主线程时间
尽管观察到的任务较少,但编辑器创建了两倍以上的阻塞时间。
/editor
52,180 ms
comparison 7 ms
/dashboard
23,860 ms
comparison 3 ms
| route_template | release | observed_tasks | long_tasks | blocked_time_ms | long_task_rate_pct |
|---|---|---|---|---|---|
| /editor | web-103 | 9,200 | 644 | 52,180 | 7 |
| /dashboard | web-103 | 15,400 | 462 | 23,860 | 3 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 150 毫秒边界遵循浏览器长任务约定。
- 2阻塞时间减去允许的前 50 毫秒,因此严重性是累加的。
- 3发布分组支持前后审核。
需要决定的边缘情况
- 必须记录浏览器支持和采样率。
- 后台选项卡工作可能会产生误导。
- 长任务表明阻塞,但在没有补充分析的情况下无法识别负责的功能。
推荐仪表板
- 酒吧:blocked_time_ms 按路线
- 趋势:long_task_rate_pct(按版本)
- 表:交互相关的长任务
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。