跳转到内容
Telemetry
前端可靠性 SQL查询示例

按路线测量 SPA 导航延迟

按目的地路线和前端版本比较典型和尾部客户端导航时间。

中级frontend_navigation_events已审核 2026-07-28测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 . SQL 兼容性、事件契约、合成输出和操作注意事项. 审查标准和所有权

问题已回答

哪些目的地路线的客户端导航速度最慢?

仅服务器延迟就错过了单页面应用程序中的路由、数据加载、水合作用和渲染工作。导航完成事件保留用户可见的持续时间。

活动合约

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp导航完成时间。
destination_routeUtf8稳定的目的地路由模板。
releaseUtf8前端版本标识符。
duration_msFloat64从导航开始到就绪状态的时间。
statusUtf8成功、失败或放弃。
DataFusion SQL

复制查询

sql
SELECT
  destination_route,
  release,
  COUNT(*) AS navigations,
  approx_percentile_cont(duration_ms, 0.50) AS p50_ms,
  approx_percentile_cont(duration_ms, 0.95) AS p95_ms,
  100.0 * SUM(CASE WHEN status <> 'success' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS unsuccessful_pct
FROM frontend_navigation_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY destination_route, release
HAVING COUNT(*) >= 50
ORDER BY p95_ms DESC;

此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

p95 客户端导航延迟

报告导航的尾部更宽,不成功的份额也更高。

destination_routereleasenavigationsp50_msp95_msunsuccessful_pct
/reports/:idweb-1036407803,2103.13
/projects/:idweb-1031,8204101,4801.21

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

p95 client navigation latency:来自 Measure SPA Navigation Latency by Route 示例结果的合成 p95_ms 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载公共装置

JSON 包包含类型化事件契约, illustrative 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1完成边界应该表示特定于路由的就绪状态,而不仅仅是 URL 更改。
  2. 2p50 和 p95 将一般缓慢的路线与间歇性长尾区分开来。
  3. 3失败和放弃的导航与延迟并存,因此快速故障无法使性能看起来健康。

需要决定的边缘情况

  • 预取会更改持续时间中包含的工作。
  • 后台选项卡会扭曲浏览器计时,应进行分类。
  • 使用路由模板而不是标识符或查询字符串。

推荐仪表板

  • 分组条:按路线划分的 p50_ms 和 p95_ms
  • 趋势:p95_ms(按版本)
  • 表:最慢的安全导航示例

警报指导

当大流量路线超过其审查的完整存储桶的 p95 目标时发出警报。

读取警报设置

让查询示例发挥作用

相关埋点和指南

继续分析

在真实事件中运行它

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥