从笔记本创建告警
基于 materialized views 的自动补全
filterValueExpandedKeyLimit 也提高了:没有 MV 时为 20 个键,使用 MV 时为 100 个键,并且可以按需配置到任意值 (我们测试到了 1000) 。
这个 MV 的维护成本相对较低;它目前在我们的暂存实例上处理大量数据,运行表现良好。同一个 MV 还为属性自动补全和 map 列展开提供支持,因此一旦配置完成,你就能在多个地方获得性能提升。演示中还讨论了一个问题:用于在“按搜索范围限定”和“所有过滤器”之间切换的开关,是否应该提升为过滤器面板顶部的一级胶囊式开关,而不是放在设置里;这是我们后续正在考虑改进的方向。
相关 PR: #2272 feat: 默认情况下过滤器不感知搜索;由 MV 加速
表列顺序和按序列格式化
123ms。现在你可以按列或按序列设置格式,这样请求数会保持为普通数字,而 latency 列则会按耗时格式显示。
此外,格式推断现在也是按序列进行的。如果你对 Trace Duration 字段做聚合,只有该序列会被推断为毫秒格式;表中的其余部分不会仅仅因为某一列是耗时就都被带成毫秒格式。
相关 PR: #2149 feat: Allow displaying group-by columns on LHS of table, #2174 feat: Add per-series number formats
可自定义的仪表盘跳转
WHERE 子句中 (无论是 SQL 还是 Lucene) 。演示中的示例将服务列表接入了这一功能,因此点击某一行后会直接跳转到服务详情仪表盘,并且 service.name 已经设置好了过滤条件。
你也可以不指定某个固定的目标仪表盘,而是直接对仪表盘名称进行模板化。因此,如果你为每个服务分别创建了仪表盘,名称类似 ${service.name} dashboard,链接就会解析为与被点击行相匹配的那个仪表盘。如果模板生成的仪表盘不存在,也有相应的错误处理:系统会弹出通知,而不是跳转到无效页面。
该功能支持多个变量,你可以将被点击行中的任意列组合传递到过滤器集合或模板化的仪表盘名称中。Handlebars 提供动态辅助函数和条件块,但目前其中大多数已被禁用,以保持功能范围尽可能小且行为可预测。导入流程也已更新:对于通过 ID 链接到其他仪表盘的仪表盘,现在在导入时可以将这些引用重新映射到目标账户中实际存在的仪表盘。
相关 PR: #2146 feat: 为自定义仪表盘点击操作添加过滤器模板,#2148 feat: 支持仪表盘 onClick 的导入/导出,#2156 feat: 为外部仪表盘 API 添加自定义 onClick 字段,#2273 feat: 为 MCP schema 和提示词添加仪表盘表格 onClick