jaeger v1.70.0 版本更新介绍
发布日期: 2025-06-10
版本号: v1.70.0
Jaeger发布了包含后端和UI更新的新版本。后端部分新增了在v2版本中使用ES/OS存储的功能,并增加了禁用Elasticsearch健康检查的选项。修复了多项问题,包括处理负跨度持续时间、Prometheus标签无效导致的API超时,以及ES指标恢复等。实验性特性主要集中在ClickHouse存储的集成,包括模式重构及getoperations、getservices等接口实现,同时为内存后端实现了getdependencies、gettraces等v2功能。此外,还进行了多项重构,例如移动Docker目录、重构ES工厂以复用代码、移除gRPC配置中的归档存储等。UI部分修复了React片段键、Tracediff界面、日志过滤及多个组件性能等问题,并将多个React类组件重构为函数组件,如质量指标组件、Span详情行及Trace时间线查看器等。
更新内容 (中文)
后端变更
✨ 新功能
- [功能] 在 jaeger-v2 中使用 v2 版 ES/OS 存储 (@Manik2708,详见 #7151)
🐞 错误修复,小幅改进
- 功能:增加禁用 Elasticsearch 健康检查的选项 (@timonegk,详见 #7212)
- 修复(Elasticsearch):尊重索引中显式配置的
replicas=0… (@masihkhatibzadeh99,详见 #7160) - 为负 span 持续时间添加清理工具 (@iypetrov,详见 #7122)
- [修复] 修复 Prometheus 标签值非有效 UTF-8 导致 API 超时的问题 (@iypetrov,详见 #7128)
- 为 ILM 客户端添加重试 (@iypetrov,详见 #7120)
- 为存储导出器添加重试配置 (@kumarlokesh,详见 #7132)
- [修复] 恢复 ES 指标 (@AnmolxSingh,详见 #7006)
- [修复] 从集成测试向二进制文件传播环境变量 (@mahadzaryab1,详见 #7112)
🚧 实验性功能
- [重构] 重新设计 ClickHouse 模式结构 (@mahadzaryab1,详见 #7181)
- [ClickHouse] 在 ClickHouse 存储中为 trace reader 实现
getoperations(@mahadzaryab1,详见 #7180) - [ClickHouse] 在 ClickHouse 存储中为 trace reader 实现
getservices(@mahadzaryab1,详见 #7159) - [v2] 为内存存储库实现
getdependencies(@Manik2708,详见 #7154) - [v2] 为内存存储库实现
gettraces(@Manik2708,详见 #7152) - [v2] 为内存存储库实现
findtraceids(@Manik2708,详见 #7143) - 为
docker-compose-elasticsearch.yml添加描述 (@pipiland2612,详见 #7146) - 为
docker-compose-elasticsearch.yml文件添加端到端测试 (@pipiland2612,详见 #7145) - 添加
docker-compose-elasticsearch.yml及其示例配置 (@pipiland2612,详见 #7144) - [v2] 为内存存储库实现
findtraces(@Manik2708,详见 #7062)
⚙️ 重构
- 将 docker 目录从根目录移至
scripts/build下 (@ris-tlp,详见 #7189) - [重构] 移动清理工具 (@yurishkuro,详见 #7158)
- [es][v2] 重构 v1 的工厂以使其可被 v2 重用 (@Manik2708,详见 #7086)
- [重构] 允许通过环境变量覆盖存储清理器 (@mahadzaryab1,详见 #7114)
- [重构] 从 gRPC 配置中移除归档存储 (@mahadzaryab1,详见 #7113)
- [gRPC] 允许通过环境变量设置远程存储端点 (@mahadzaryab1,详见 #7111)
- [重构] 使用
jaeger-idl中的 proto 文件作为远程存储 API (@mahadzaryab1,详见 #7104)
📊 UI 变更
🐞 错误修复,小幅改进
- 修复多个组件中的 React Fragment 键问题 (@Parship999,详见 #2823)
- 移动 tracediff 头部的 chevron 图标 (@Parship999,详见 #2845)
- 功能:根据选定的时间范围过滤日志 (@tejas-raskar,详见 #2844)
- 增强 tracediff UI 组件 (@Parship999,详见 #2806)
- 重写
computeselftime以提升 trace 统计页面的性能 (@DamianMaslanka5,详见 #2767) - 修复
labeledlist组件中的数组返回模式 (@Parship999,详见 #2812) - 允许 JSON 日志占据整个可用宽度 (@tejas-raskar,详见 #2814)
- 功能:将
monitoratmemptystate转换为函数式组件 (@vishvamsinh28,详见 #2790) - 将已弃用的
overlayclassname替换为classnames.root(@abhayporwals,详见 #2772) - [修复]:降低默认最小允许缩放级别 (@hari45678,详见 #2775)
- 修复 dependencygraph DAG 的额外渲染 (@mdwyer6,详见 #2749)
⚙️ 重构
- 将 qualitymetrics 组件转换为函数式组件 (@Parship999,详见 #2856)
- 重构:将
spandetailrow转换为函数式组件 (@tejas-raskar,详见 #2827) - 将
tracetimelineviewerimpl迁移为函数式组件 (@tejas-raskar,详见 #2816) - 将
canvasspangraph重构为函数式组件并提升测试覆盖率 (@vishvamsinh28,详见 #2824)
更新内容 (原始)
Backend Changes
✨ New Features
- [feat] use v2 es/os storage in jaeger-v2 (@Manik2708 in #7151)
🐞 Bug fixes, Minor Improvements
- Feat: add option to disable elasticsearch health check (@timonegk in #7212)
- Fix(elasticsearch): respect explicitly configured replicas=0 in index… (@masihkhatibzadeh99 in #7160)
- Add sanitizers for negative span duration (@iypetrov in #7122)
- [fix] fix prometheus label value is not valid utf 8 cause api timeout (@iypetrov in #7128)
- Add retries to ilm client (@iypetrov in #7120)
- Add retry configuration to storage exporter (@kumarlokesh in #7132)
- [fix] restore es metrics (@AnmolxSingh in #7006)
- [fix] propagate environment variables to binary from integration tests (@mahadzaryab1 in #7112)
🚧 Experimental Features
- [refactor] rework clickhouse schema structure (@mahadzaryab1 in #7181)
- [clickhouse] implement getoperations for trace reader in clickhouse storage (@mahadzaryab1 in #7180)
- [clickhouse] implement getservices for trace reader in clickhouse storage (@mahadzaryab1 in #7159)
- [v2] implement
getdependenciesfor memory backend (@Manik2708 in #7154) - [v2] implement
gettracesfor memory backend (@Manik2708 in #7152) - [v2] implement
findtraceidsfor memory backend (@Manik2708 in #7143) - Add description for docker-compose-elasticsearch.yml (@pipiland2612 in #7146)
- Add e2e test for docker-compose-elasticsearch.yml file (@pipiland2612 in #7145)
- Add docker-compose-elasticsearch.yml and its sample configuration (@pipiland2612 in #7144)
- [v2] implement
findtracesfor memory backend (@Manik2708 in #7062)
⚙️ Refactoring
- Relocate the docker directory from the root directory to under scripts/build (@ris-tlp in #7189)
- [refactor] move sanitizer (@yurishkuro in #7158)
- [es][v2] refactor the factory of v1 to make it reusable for v2 (@Manik2708 in #7086)
- [refactor] allow storage cleaner to be overridden via environment variable (@mahadzaryab1 in #7114)
- [refactor] remove archive storage from grpc config (@mahadzaryab1 in #7113)
- [grpc] allow remote storage endpoint to be set via environment variable (@mahadzaryab1 in #7111)
- [refactor] use proto files from
jaeger-idlfor remote storage api (@mahadzaryab1 in #7104)
📊 UI Changes
🐞 Bug fixes, Minor Improvements
- Fix react fragment key issues in multiple components (@Parship999 in #2823)
- Move tracediff header chevron icon (@Parship999 in #2845)
- Feat: filter logs based on the selected time range (@tejas-raskar in #2844)
- Enhance tracediff ui components (@Parship999 in #2806)
- Rewrite computeselftime to improve performance on trace statistics page (@DamianMaslanka5 in #2767)
- Fix array return pattern in
labeledlistcomponent (@Parship999 in #2812) - Allow json logs to occupy entire available width (@tejas-raskar in #2814)
- Feat: convert monitoratmemptystate to a functional component (@vishvamsinh28 in #2790)
- Replace deprecated
overlayclassnamewithclassnames.root(@abhayporwals in #2772) - [fix]: reduce default minimum allowed zoom (@hari45678 in #2775)
- Fix dependencygraph dag extra render (@mdwyer6 in #2749)
⚙️ Refactoring
- Convert qualitymetrics components to functional components (@Parship999 in #2856)
- Refactor: spandetailrow to functional component (@tejas-raskar in #2827)
- Migrate tracetimelineviewerimpl to a functional component (@tejas-raskar in #2816)
- Refactor canvasspangraph to functional component and improve test coverage (@vishvamsinh28 in #2824)
下载链接
- jaeger-1.70.0-darwin-amd64.sha256sum.txt
- jaeger-1.70.0-darwin-amd64.tar.gz
- jaeger-1.70.0-darwin-amd64.tar.gz.asc
- jaeger-1.70.0-darwin-arm64.sha256sum.txt
- jaeger-1.70.0-darwin-arm64.tar.gz
- jaeger-1.70.0-darwin-arm64.tar.gz.asc
- jaeger-1.70.0-linux-amd64.sha256sum.txt
- jaeger-1.70.0-linux-amd64.tar.gz
- jaeger-1.70.0-linux-amd64.tar.gz.asc
- jaeger-1.70.0-linux-arm64.sha256sum.txt
- jaeger-1.70.0-linux-arm64.tar.gz
- jaeger-1.70.0-linux-arm64.tar.gz.asc
- jaeger-1.70.0-linux-ppc64le.sha256sum.txt
- jaeger-1.70.0-linux-ppc64le.tar.gz
- jaeger-1.70.0-linux-ppc64le.tar.gz.asc
- jaeger-1.70.0-linux-s390x.sha256sum.txt
- jaeger-1.70.0-linux-s390x.tar.gz
- jaeger-1.70.0-linux-s390x.tar.gz.asc
- jaeger-1.70.0-windows-amd64.sha256sum.txt
- jaeger-1.70.0-windows-amd64.tar.gz
- jaeger-1.70.0-windows-amd64.tar.gz.asc
- jaeger-1.70.0-windows-amd64.zip
- jaeger-1.70.0-windows-amd64.zip.asc
- jaeger-1.70.0.sha256sum.txt
- jaeger-2.7.0-darwin-amd64.sha256sum.txt
- jaeger-2.7.0-darwin-amd64.tar.gz
- jaeger-2.7.0-darwin-amd64.tar.gz.asc
- jaeger-2.7.0-darwin-arm64.sha256sum.txt
- jaeger-2.7.0-darwin-arm64.tar.gz
- jaeger-2.7.0-darwin-arm64.tar.gz.asc
- jaeger-2.7.0-linux-amd64.sha256sum.txt
- jaeger-2.7.0-linux-amd64.tar.gz
- jaeger-2.7.0-linux-amd64.tar.gz.asc
- jaeger-2.7.0-linux-arm64.sha256sum.txt
- jaeger-2.7.0-linux-arm64.tar.gz
- jaeger-2.7.0-linux-arm64.tar.gz.asc
- jaeger-2.7.0-linux-ppc64le.sha256sum.txt
- jaeger-2.7.0-linux-ppc64le.tar.gz
- jaeger-2.7.0-linux-ppc64le.tar.gz.asc
- jaeger-2.7.0-linux-s390x.sha256sum.txt
- jaeger-2.7.0-linux-s390x.tar.gz
- jaeger-2.7.0-linux-s390x.tar.gz.asc
- jaeger-2.7.0-windows-amd64.sha256sum.txt
- jaeger-2.7.0-windows-amd64.tar.gz
- jaeger-2.7.0-windows-amd64.tar.gz.asc
- jaeger-2.7.0-windows-amd64.zip
- jaeger-2.7.0-windows-amd64.zip.asc
- jaeger-2.7.0.sha256sum.txt
- jaeger-SBOM.spdx.json
- jaeger-tools-1.70.0-darwin-amd64.sha256sum.txt
- jaeger-tools-1.70.0-darwin-amd64.tar.gz
- jaeger-tools-1.70.0-darwin-amd64.tar.gz.asc
- jaeger-tools-1.70.0-darwin-arm64.sha256sum.txt
- jaeger-tools-1.70.0-darwin-arm64.tar.gz
- jaeger-tools-1.70.0-darwin-arm64.tar.gz.asc
- jaeger-tools-1.70.0-linux-amd64.sha256sum.txt
- jaeger-tools-1.70.0-linux-amd64.tar.gz
- jaeger-tools-1.70.0-linux-amd64.tar.gz.asc
- jaeger-tools-1.70.0-linux-arm64.sha256sum.txt
- jaeger-tools-1.70.0-linux-arm64.tar.gz
- jaeger-tools-1.70.0-linux-arm64.tar.gz.asc
- jaeger-tools-1.70.0-linux-ppc64le.sha256sum.txt
- jaeger-tools-1.70.0-linux-ppc64le.tar.gz
- jaeger-tools-1.70.0-linux-ppc64le.tar.gz.asc
- jaeger-tools-1.70.0-linux-s390x.sha256sum.txt
- jaeger-tools-1.70.0-linux-s390x.tar.gz
- jaeger-tools-1.70.0-linux-s390x.tar.gz.asc
- jaeger-tools-1.70.0-windows-amd64.sha256sum.txt
- jaeger-tools-1.70.0-windows-amd64.tar.gz
- jaeger-tools-1.70.0-windows-amd64.tar.gz.asc
- jaeger-tools-1.70.0-windows-amd64.zip
- jaeger-tools-1.70.0-windows-amd64.zip.asc