jaeger v1.69.0 版本更新介绍
发布日期: 2025-05-09
版本号: v1.69.0
本次更新主要涉及Jaeger后端和UI的多方面改进。后端方面,存在两项破坏性变更:Elasticsearch压缩功能现在默认启用,以及Jaeger v2仅支持远程存储API v2。新增了过滤处理器功能。修复和改进包括升级反向代理示例、添加pprof扩展、修正Elasticsearch v1中的标签类型、清理过时文档以及修复构建版本路径问题。实验性功能主要集中在Elasticsearch v2和gRPC v2,实现了大量数据操作接口(如读写追踪、依赖关系等),并改进了内存和ClickHouse存储模型。CI与重构方面,优化了测试流程、模块依赖,并统一了v1/v2存储适配器的实现。UI方面,进行了多项性能优化(如追踪页面加载、Span展开/折叠、统计页面渲染),改进了用户交互(如节点右键菜单、重置图标),并完成了从Enzyme到React Testing Library的测试框架迁移。
更新内容 (中文)
后端变更
⛔ 破坏性变更
- 功能(elasticsearch):添加默认启用gzip压缩的标志 (@timonegk 在 #7072),默认启用
- Jaeger v2仅支持远程存储API v2 (@mahadzaryab1 在 #6969)
✨ 新功能
- 添加过滤处理器 (@yurishkuro 在 #7094)
🐞 错误修复与次要改进
- 将反向代理示例升级至jaeger-v2 (@yurishkuro 在 #7076)
- 添加pprof扩展 (@denysvitali 在 #7073)
- [es][v1] 将db标签值类型从
string更改为any(@Manik2708 在 #6998) - 移除与jaeger exporter相关的过时信息 (@DamianMaslanka5 在 #6987)
- [bug] 修复ldflags中的版本模块路径 (@developer-guy 在 #6990)
🚧 实验性功能
- [es][v2] 实现
getdependenies和writedependencies(@Manik2708 在 #7085) - [clickhouse] 将otel traces模型转换为原生格式 (@zhengkezhou1 在 #6935)
- [es] 在
corespanreader层面区分nestedtags和elevatedtags(@Manik2708 在 #7067) - [es][v2] 将
coredependencystore和dbmodel从v1迁移至v2 (@Manik2708 在 #7079) - [grpc][v2] 在grpc存储写入路径中使用标准otlp接收器 (@mahadzaryab1 在 #7065)
- [es][v2] 为v2版本的es/os实现
findtraces(@Manik2708 在 #7021) - [重构] 从远程存储后端配置中移除
jaeger_query扩展 (@mahadzaryab1 在 #7059) - [v2][远程存储] 实现远程存储扩展 (@mahadzaryab1 在 #7043)
- [es][v2] 为es/os实现
gettraces(@Manik2708 在 #7054) - [v2] 为内存后端实现
getoperations和getservices(@Manik2708 在 #7053) - [v2] 为es/os实现
findtraceids(@Manik2708 在 #7035) - [v2] 为内存后端实现
writetraces(@Manik2708 在 #7027) - [es] 重构
dependencystore以使其可重用于v2 APIs (@Manik2708 在 #7044) - [grpc][v2] 在远程存储服务器中注册grpc v2处理器 (@mahadzaryab1 在 #7037)
- [es][v2] 为v2版本实现
getoperations和getservices(@Manik2708 在 #7025) - [es][v2] 为v2版本实现
writetraces(@Manik2708 在 #7020) - [grpc][v2] 在grpc v2服务器中实现
getdependencies(@mahadzaryab1 在 #7016) - [grpc][v2] 在grpc v2处理器中实现otlp exporter API (@mahadzaryab1 在 #7012)
- [es][v2] 将db标签值类型从
string更改为any(@Manik2708 在 #6994) - [grpc][v2] 在grpc v2处理器中实现findtraceids (@mahadzaryab1 在 #7003)
- [grpc][v2] 在grpc v2处理器中实现
findtraces(@mahadzaryab1 在 #6992) - [grpc][v2] 在grpc v2处理器中实现
gettraces(@mahadzaryab1 在 #6985) - [grpc][v2] 在grpc v2处理器中实现getservices (@mahadzaryab1 在 #6984)
- [grpc][v2] 在grpc v2处理器中实现
getservices(@mahadzaryab1 在 #6980)
👷 CI改进
- 推送至main分支时不再运行二进制文件大小检查 (@yurishkuro 在 #7096)
- 检查版本号是否正确嵌入二进制文件 (@yurishkuro 在 #7092)
- 将模块github.com/vektra/mockery/v2升级至v3 (@AnmolxSingh 在 #7051)
- [修复] 在工作流文件中添加查询集成测试 (@mahadzaryab1 在 #7056)
- 启用mockery/with-expecter (@yurishkuro 在 #7046)
- 修复mockery配置中的路径 (@yurishkuro 在 #7045)
- 通过筛选jaeger索引解决runindexcleanertest的测试不稳定问题 (@0xShubhamSolanki 在 #7004)
- 为查询服务添加端到端集成测试 (@pipiland2612 在 #6966)
- #5608 改进spm端到端测试,添加错误率测试 (@pipiland2612 在 #6991)
⚙️ 重构
- [es] 在
corespanwriter层面区分nestedtags和fieldtags(@Manik2708 在 #6946) - [重构] 更改远程存储服务器以接受v2工厂 (@mahadzaryab1 在 #7024)
- [重构] 整合v1/v2写入器工厂适配器功能 (@mahadzaryab1 在 #7022)
- [重构] 整合v1/v2读取器工厂适配器功能 (@mahadzaryab1 在 #7019)
📊 UI变更
🐞 错误修复与次要改进
- 通过延迟关键路径工具提示减少trace页面加载时间 (@DamianMaslanka5 在 #2718)
- 迁移copyicon测试 (@nojaf 在 #2727)
- [修复] 使sdg中的重置图标更直观 (@hari45678 在 #2723)
- 在keyboardshortshelp中从enzyme迁移至@testing-library/react (@nojaf 在 #2725)
- 改进按标签分组时trace统计页面的性能 (@DamianMaslanka5 在 #2724)
- 改进展开和折叠spans的性能 (@DamianMaslanka5 在 #2722)
- 改进trace统计的性能 (@DamianMaslanka5 在 #2721)
- [功能] 为dag中的节点添加上下文菜单 (@hari45678 在 #2719)
- 修复trace统计页面中按标签分组的问题 (@DamianMaslanka5 在 #2717)
- 改进展开/折叠span详情时的性能 (@DamianMaslanka5 在 #2716)
👷 CI改进
- 添加在测试中使用typescript的能力 (@DamianMaslanka5 在 #2731)
⚙️ 重构
- [es] 在
corespanwriter层面区分nestedtags和fieldtags(@Manik2708 在 #6946) - [重构] 更改远程存储服务器以接受v2工厂 (@mahadzaryab1 在 #7024)
- [重构] 整合v1/v2写入器工厂适配器功能 (@mahadzaryab1 在 #7022)
- [重构] 整合v1/v2读取器工厂适配器功能 (@mahadzaryab1 在 #7019)
更新内容 (原始)
Backend Changes
⛔ Breaking Changes
- Feat(elasticsearch): Add flag to enable gzip compression by default (@timonegk in #7072), on by default
- Only Remote Storage API v2 is supported in Jaeger v2 (@mahadzaryab1 in #6969)
✨ New Features
- Add filterprocessor (@yurishkuro in #7094)
🐞 Bug fixes, Minor Improvements
- Upgrade reverse-proxy example to jaeger-v2 (@yurishkuro in #7076)
- Add pprof extension (@denysvitali in #7073)
- [es][v1] change the db tag value from
stringtoanytype (@Manik2708 in #6998) - Remove outdated info related to jaeger exporter (@DamianMaslanka5 in #6987)
- [bug] fix the version module path in ldflags (@developer-guy in #6990)
🚧 Experimental Features
- [es][v2] implement
getdependeniesandwritedependencies(@Manik2708 in #7085) - [clickhouse] convert otel traces model to native format (@zhengkezhou1 in #6935)
- [es] make
nestedtagsandelevatedtagsdistinction atcorespanreaderlevel (@Manik2708 in #7067) - [es][v2] move
coredependencystoreanddbmodelfrom v1 to v2 (@Manik2708 in #7079) - [grpc][v2] use standard otlp receiver for grpc storage write path (@mahadzaryab1 in #7065)
- [es][v2] implement
findtracesfor es/os for v2 (@Manik2708 in #7021) - [refactor] remove
jaeger_queryextension from remote storage backend config (@mahadzaryab1 in #7059) - [v2][remote-storage] implement remote storage extension (@mahadzaryab1 in #7043)
- [es][v2] implement
gettracesfor es/os (@Manik2708 in #7054) - [v2] implement
getoperationsandgetservicesfor memory backend (@Manik2708 in #7053) - [v2] implement
findtraceidsfor es/os (@Manik2708 in #7035) - [v2] implement
writetracesfor memory backend (@Manik2708 in #7027) - [es] refactor
dependencystoreto make it reusable for v2 apis (@Manik2708 in #7044) - [grpc][v2] register grpc v2 handler in remote-storage server (@mahadzaryab1 in #7037)
- [es][v2] implement
getoperationsandgetservicesfor v2 (@Manik2708 in #7025) - [es][v2] implement
writetracesfor v2 (@Manik2708 in #7020) - [grpc][v2] implement
getdependenciesin grpc v2 server (@mahadzaryab1 in #7016) - [grpc][v2] implement otlp exporter api in grpc v2 handler (@mahadzaryab1 in #7012)
- [es][v2] change the db tag value from
stringtoanytype (@Manik2708 in #6994) - [grpc][v2] implement findtraceids in grpc v2 handler (@mahadzaryab1 in #7003)
- [grpc][v2] implement
findtracesin grpc v2 handler (@mahadzaryab1 in #6992) - [grpc][v2] implement
gettracesin grpc v2 handler (@mahadzaryab1 in #6985) - [grpc][v2] implement getservices in grpc v2 handler (@mahadzaryab1 in #6984)
- [grpc][v2] implement
getservicesin grpc v2 handler (@mahadzaryab1 in #6980)
👷 CI Improvements
- Do not run binary size check on push to main (@yurishkuro in #7096)
- Check that version number is corectly embedded in the binary (@yurishkuro in #7092)
- Update module github.com/vektra/mockery/v2 to v3 (@AnmolxSingh in #7051)
- [fix] add query integration test to workflows file (@mahadzaryab1 in #7056)
- Enable mockery/with-expecter (@yurishkuro in #7046)
- Fix paths in mockery config (@yurishkuro in #7045)
- Fix flakiness in runindexcleanertest by filtering jaeger indices (@0xShubhamSolanki in #7004)
- Add e2e integration test for query service (@pipiland2612 in #6966)
- #5608 improve spm e2e test with test for error rate (@pipiland2612 in #6991)
⚙️ Refactoring
- [es] make
nestedtagsandfieldtagsdistinction atcorespanwriterlevel (@Manik2708 in #6946) - [refactor] change remote storage server to accept v2 factories (@mahadzaryab1 in #7024)
- [refactor] consolidate v1/v2 writer factory adapter functionality (@mahadzaryab1 in #7022)
- [refactor] consolidate v1/v2 reader factory adapter functionality (@mahadzaryab1 in #7019)
📊 UI Changes
🐞 Bug fixes, Minor Improvements
- Reduce load time of trace page by deferring critical path tooltip (@DamianMaslanka5 in #2718)
- Migrate copyicon tests (@nojaf in #2727)
- [fix]: make reset icon in sdg more intuitive (@hari45678 in #2723)
- Migrate from enzyme to @testing-library/react in keyboardshortshelp (@nojaf in #2725)
- Improve performance of trace statistics page when grouping by tag (@DamianMaslanka5 in #2724)
- Improve performance of expanding and collapsing spans (@DamianMaslanka5 in #2722)
- Improve performance of trace statistics (@DamianMaslanka5 in #2721)
- [feat]: add context menu on node to dag (@hari45678 in #2719)
- Fix grouping on trace statistics page for tags (@DamianMaslanka5 in #2717)
- Improve performance when expanding/collapsing span details (@DamianMaslanka5 in #2716)
👷 CI Improvements
- Add ability to use typescript in tests (@DamianMaslanka5 in #2731)
⚙️ Refactoring
- [es] make
nestedtagsandfieldtagsdistinction atcorespanwriterlevel (@Manik2708 in #6946) - [refactor] change remote storage server to accept v2 factories (@mahadzaryab1 in #7024)
- [refactor] consolidate v1/v2 writer factory adapter functionality (@mahadzaryab1 in #7022)
- [refactor] consolidate v1/v2 reader factory adapter functionality (@mahadzaryab1 in #7019)
下载链接
- jaeger-1.69.0-darwin-amd64.sha256sum.txt
- jaeger-1.69.0-darwin-amd64.tar.gz
- jaeger-1.69.0-darwin-amd64.tar.gz.asc
- jaeger-1.69.0-darwin-arm64.sha256sum.txt
- jaeger-1.69.0-darwin-arm64.tar.gz
- jaeger-1.69.0-darwin-arm64.tar.gz.asc
- jaeger-1.69.0-linux-amd64.sha256sum.txt
- jaeger-1.69.0-linux-amd64.tar.gz
- jaeger-1.69.0-linux-amd64.tar.gz.asc
- jaeger-1.69.0-linux-arm64.sha256sum.txt
- jaeger-1.69.0-linux-arm64.tar.gz
- jaeger-1.69.0-linux-arm64.tar.gz.asc
- jaeger-1.69.0-linux-ppc64le.sha256sum.txt
- jaeger-1.69.0-linux-ppc64le.tar.gz
- jaeger-1.69.0-linux-ppc64le.tar.gz.asc
- jaeger-1.69.0-linux-s390x.sha256sum.txt
- jaeger-1.69.0-linux-s390x.tar.gz
- jaeger-1.69.0-linux-s390x.tar.gz.asc
- jaeger-1.69.0-windows-amd64.sha256sum.txt
- jaeger-1.69.0-windows-amd64.tar.gz
- jaeger-1.69.0-windows-amd64.tar.gz.asc
- jaeger-1.69.0-windows-amd64.zip
- jaeger-1.69.0-windows-amd64.zip.asc
- jaeger-1.69.0.sha256sum.txt
- jaeger-2.6.0-darwin-amd64.sha256sum.txt
- jaeger-2.6.0-darwin-amd64.tar.gz
- jaeger-2.6.0-darwin-amd64.tar.gz.asc
- jaeger-2.6.0-darwin-arm64.sha256sum.txt
- jaeger-2.6.0-darwin-arm64.tar.gz
- jaeger-2.6.0-darwin-arm64.tar.gz.asc
- jaeger-2.6.0-linux-amd64.sha256sum.txt
- jaeger-2.6.0-linux-amd64.tar.gz
- jaeger-2.6.0-linux-amd64.tar.gz.asc
- jaeger-2.6.0-linux-arm64.sha256sum.txt
- jaeger-2.6.0-linux-arm64.tar.gz
- jaeger-2.6.0-linux-arm64.tar.gz.asc
- jaeger-2.6.0-linux-ppc64le.sha256sum.txt
- jaeger-2.6.0-linux-ppc64le.tar.gz
- jaeger-2.6.0-linux-ppc64le.tar.gz.asc
- jaeger-2.6.0-linux-s390x.sha256sum.txt
- jaeger-2.6.0-linux-s390x.tar.gz
- jaeger-2.6.0-linux-s390x.tar.gz.asc
- jaeger-2.6.0-windows-amd64.sha256sum.txt
- jaeger-2.6.0-windows-amd64.tar.gz
- jaeger-2.6.0-windows-amd64.tar.gz.asc
- jaeger-2.6.0-windows-amd64.zip
- jaeger-2.6.0-windows-amd64.zip.asc
- jaeger-2.6.0.sha256sum.txt
- jaeger-SBOM.spdx.json
- jaeger-tools-1.69.0-darwin-amd64.sha256sum.txt
- jaeger-tools-1.69.0-darwin-amd64.tar.gz
- jaeger-tools-1.69.0-darwin-amd64.tar.gz.asc
- jaeger-tools-1.69.0-darwin-arm64.sha256sum.txt
- jaeger-tools-1.69.0-darwin-arm64.tar.gz
- jaeger-tools-1.69.0-darwin-arm64.tar.gz.asc
- jaeger-tools-1.69.0-linux-amd64.sha256sum.txt
- jaeger-tools-1.69.0-linux-amd64.tar.gz
- jaeger-tools-1.69.0-linux-amd64.tar.gz.asc
- jaeger-tools-1.69.0-linux-arm64.sha256sum.txt
- jaeger-tools-1.69.0-linux-arm64.tar.gz
- jaeger-tools-1.69.0-linux-arm64.tar.gz.asc
- jaeger-tools-1.69.0-linux-ppc64le.sha256sum.txt
- jaeger-tools-1.69.0-linux-ppc64le.tar.gz
- jaeger-tools-1.69.0-linux-ppc64le.tar.gz.asc
- jaeger-tools-1.69.0-linux-s390x.sha256sum.txt
- jaeger-tools-1.69.0-linux-s390x.tar.gz
- jaeger-tools-1.69.0-linux-s390x.tar.gz.asc
- jaeger-tools-1.69.0-windows-amd64.sha256sum.txt
- jaeger-tools-1.69.0-windows-amd64.tar.gz
- jaeger-tools-1.69.0-windows-amd64.tar.gz.asc
- jaeger-tools-1.69.0-windows-amd64.zip
- jaeger-tools-1.69.0-windows-amd64.zip.asc