本次发布聚焦三件事:大跨度 Trace 水合提速、告警风暴抑制、自然语言查询升级,另附若干修复与已知问题。
之前查一个上千 Span 的 Trace,水合(把 Span 数据按父子关系组装成调用树)要几秒甚至十几秒。对盯着红盘的值班工程师来说,这几秒像一辈子,故障期间全队人加起来就是一大块时间。慢的根源是老逻辑按 Span 逐个查库、再在内存里拼树,Span 越多越慢。
这个版本重写了水合逻辑,用批量加载替代逐 Span 查询:
改动对调用方透明,trace_id 查询接口签名不变,客户端无需任何升级。
一个上游服务抖动,可能触发几十条告警,把值班群刷屏,把真正要紧的那条淹没掉。v2.4.0 新增告警抑制规则:
配置示例:
alerting:
inhibition:
- source_match: {service: "db-master"}
target_match: {service: ".*-consumer"}
equal: [alertname]
silence:
- matcher: {env: "staging"}
starts_at: "2026-10-07T02:00:00Z"
ends_at: "2026-10-07T04:00:00Z"
抑制降的是告警疲劳——一个被噪音叫醒五次的值班工程师,很快就不再相信告警了。
自然语言转查询(NL2Query)这版升级了两点:
你:支付服务最近一小时有什么问题?
助手:已生成查询,展示支付服务近 1 小时的 ERROR 与 WARN 分布。
SQL: SELECT level, count(*) FROM logs
WHERE service='pay-service' AND ts > now()-1h
GROUP BY level
把 SQL 展示出来是刻意的设计:模型负责提议,你来拍板。生成的查询错了,你能直接看到错在哪、当场改。
修复
GROUP BY 聚合下不触发的问题已知问题
equal 匹配暂不支持正则完整变更记录见发布页,升级前请先备份配置。