jaeger v1.68.0 版本更新介绍
发布日期: 2025-04-05
版本号: v1.68.0
本次更新主要包含后端和UI的改动。后端方面进行了多项重要变更:移除了sampling.strategies.bugfix-5270标志并将其标记为稳定功能;修复了多个bug并进行了小改进,包括清理遗留模型、移除代理代码、优化ES查询功能等;新增了多项实验性功能,主要集中在v2 API的GRPC实现和Elasticsearch集成;进行了大量代码重构,包括多个包的内部化迁移和结构调整。UI方面新增了DAG视图的样式修改和搜索功能,添加了深度和布局控制,并修复了一些bug,包括处理无效JSON格式的错误和添加开发模式下的示例图数据。
更新内容 (中文)
后端变更
⛔ 破坏性变更
- 移除 sampling.strategies.bugfix-5270 标志并标记功能稳定 (@yurishkuro in #6872)
🐞 错误修复与小幅改进
- 发布清单生成器的小幅修复 (@albertteoh in #6976)
- 支持通过 CLI 配置 prometheus.extra_query_parameters (@andreasgerstmayr in #6931)
- 清理遗留模型 (@yurishkuro in #6875)
- 🪦 移除 agent 代码 (@yurishkuro in #6868)
- [es] 重构 spanreader 的
findtraces
和gettrace
以便为 v2 API 复用 (@Manik2708 in #6845) - [es] 添加停止在 spanreader 中处理遗留 trace id 的功能 (@Manik2708 in #6848)
- 功能:将 pkg/testutils 移动到 internal/testutils (@jinjiaKarl in #6840)
- [修复] 允许 es-index-cleaner 基于当前时间删除索引 (@Asatyam in #6790)
- [清理] 从
trace_storage.proto
和dependency_storage.proto
中移除 gogoproto 注解 (@mahadzaryab1 in #6819)
🚧 实验性功能
- [es][v2] 为 spans 转换添加快照测试 (@Manik2708 in #6970)
- [grpc][v2] 实现 grpc v2 工厂 (@mahadzaryab1 in #6968)
- [grpc][v2] 在 grpc reader 中为远程存储 API v2 实现
findtraces
调用 (@mahadzaryab1 in #6962) - [grpc][v2] 在 grpc reader 中为远程存储 API v2 实现
gettraces
调用 (@mahadzaryab1 in #6857) - [es][v2] 重构
from_dbmodel
和to_dbmodel
以接受和返回 db spans (@Manik2708 in #6934) - [grpc][v2] 实现 v2 grpc 依赖关系 reader (@mahadzaryab1 in #6933)
- [es][v2] 从 otel contrib 复制 jaeger<->otlp 转换器 (@Manik2708 in #6923)
- [grpc][v2] 实现 v2 grpc trace writer (@mahadzaryab1 in #6919)
- [grpc][v2] 在 grpc reader 中为远程存储 API v2 实现
findtraceids
调用 (@mahadzaryab1 in #6858) - [grpc][v2] 在 grpc reader 中为远程存储 API v2 实现
getoperations
调用 (@mahadzaryab1 in #6843) - [grpc][v2] 在 grpc reader 中为远程存储 API v2 实现
getservices
调用 (@mahadzaryab1 in #6829) - [重构] 从远程存储 API v2 返回 traces 块 (@mahadzaryab1 in #6830)
👷 CI 改进
- [all-in-one] 避免在合并队列中进行多架构构建 (#6880) (@sAchin-680 in #6882)
- 指示 renovate 固定 GitHub action 哈希值 (@yurishkuro in #6860)
⚙️ 重构
- 将 model/json/model.go 移动到 internal/uimodel/converter/v1 (@pipiland2612 in #6973)
- 添加 usetesting linter 并修复 lint 问题 (#6892) (@anurag-rajawat in #6972)
- 删除空的 pkg 包 (@pipiland2612 in #6967)
- 将 pkg/otelsemconv 移动到 internal/telemetry/otelsemconv (@pipiland2612 in #6961)
- 将 pkg/cassandra 移动到 internal/storage/cassandra (@pipiland2612 in #6960)
- 将 pkg/adjuster 移动到 cmd/query/app/querysvc/internal/adjuster (@pipiland2612 in #6956)
- 移除 pkg/netutils 包 (@pipiland2612 in #6955)
- [重构] 移除
traceschunk
类型并直接流式传输 otlp traces (@mahadzaryab1 in #6954) - [es] 从
fromdbmodel
和todbmodel
中移除指针签名 (@Manik2708 in #6942) - 将 proto-gen 移动到 internal (@yurishkuro in #6941)
- 将 pkg/es 移动到 internal/storage/elasticsearch (@danish9039 in #6937)
- 将 pkg/distributedlock 移动到 internal/distributedlock (@danish9039 in #6903)
- 将 pkg/httpmetrics 移动到 internal/httpmetrics (@danish9039 in #6905)
- 将 pkg/{gogocodec,httpfs,bearertoken,boundqueue} 移动到 internal (@sAchin-680 in #6896)
- 将 pkg/metrics 移动到 internal/metrics (@danish9039 in #6901)
- 将 pkg/kafka 移动到 internal/kafka (@danish9039 in #6908)
- 将 pkg/prometheus 移动到 internal/config/promcfg (@danish9039 in #6911)
- 将 model/proto 移动到 internal/proto (@danish9039 in #6918)
- [es] 将 db 模型移出
v1/elasticsearch/internal/spanstore/internal
(@Manik2708 in #6894) - 将 pkg/version 移动到 internal/version (@danish9039 in #6913)
- 将 model/converter 移动到 internal/converter (@danish9039 in #6917)
- 将 pkg/gzipfs 移动到 internal/gzipfs (@sAchin-680 in #6897)
- 将 pkg/jtracer 移动到 internal/jtracer (@danish9039 in #6907)
- 将 pkg/telemetry 移动到 internal/telemetry (@danish9039 in #6912)
- 将 pkg/fswatcher 移动到 internal/fswatcher (@sAchin-680 in #6895)
- [es] 将
corespanwriter
从spanwriter
中分离出来 (@Manik2708 in #6883) - 将 pkg/config 移动到 internal/config (@gentcod in #6884)
- 将 pkg/healthcheck 移动到 internal/healthcheck (@danish9039 in #6888)
- 将 pkg/hostname 移动到 internal/hostname (@danish9039 in #6886)
- 将 pkg/recoveryhandler 移动到 internal/recoveryhandler (@danish9039 in #6887)
- 将 pkg/tenancy 移动到 internal/tenancy (@danish9039 in #6889)
- 将 pkg/normalizer 移动到 collector (@danish9039 in #6877)
- 替换 model/converter/thrift/zipkin 的使用 (@shuraih775 in #6879)
- [es] 从
corespanreader
中移除指针签名 (@Manik2708 in #6874) - [重构] 移动接口以移除 cmd/agent 依赖 (@yurishkuro in #6863)
- [agent] 重构 udp 服务器 (@yurishkuro in #6852)
- [agent] 移除不必要的服务器接口 (@yurishkuro in #6851)
- [es] 重构 spanreader 的
findtraceids
以便为 v2 API 复用 (@Manik2708 in #6831) - [es] 重构 spanreader 的
getoperations
和getservices
以便为 v2 API 复用 (@Manik2708 in #6828)
📊 前端变更
✨ 新功能
- 功能:更改 dag 样式并添加搜索功能 (@hari45678 in #2710)
🐞 错误修复与小幅改进
- 在开发模式下添加示例图数据 (@hari45678 in #2698)
- 为 dag 视图添加深度和布局控制以及 sfdp 布局 (@hari45678 in #2691)
- 在 @jaegertracing/plexus 中添加 sfdp 引擎 (@hari45678 in #2690)
- 添加对无效 JSON 格式的处理或错误及测试 (@rohitlohar45 in #2689)
更新内容 (原始)
Backend Changes
⛔ Breaking Changes
- Remove sampling.strategies.bugfix-5270 flag and mark feature stable (@yurishkuro in #6872)
🐞 Bug fixes, Minor Improvements
- Minor fixes to release checklist generator (@albertteoh in #6976)
- Support configuring prometheus.extra_query_parameters via cli (@andreasgerstmayr in #6931)
- Cleanup legacy models (@yurishkuro in #6875)
- 🪦 remove agent code (@yurishkuro in #6868)
- [es] refactor
findtraces
andgettrace
of spanreader to make them reusable for v2 apis (@Manik2708 in #6845) - [es] add feature to stop legacy trace ids handling in spanreader (@Manik2708 in #6848)
- Feat: move pkg/testutils to internal/testutils (@jinjiaKarl in #6840)
- [fix] allow es-index-cleaner to delete indices based on current time (@Asatyam in #6790)
- [chore] remove gogoproto annotations from
trace_storage.proto
anddependency_storage.proto
(@mahadzaryab1 in #6819)
🚧 Experimental Features
- [es][v2] add snapshot tests for spans conversion (@Manik2708 in #6970)
- [grpc][v2] implement grpc v2 factory (@mahadzaryab1 in #6968)
- [grpc][v2] implement
findtraces
call in grpc reader for remote storage api v2 (@mahadzaryab1 in #6962) - [grpc][v2] implement
gettraces
call in grpc reader for remote storage api v2 (@mahadzaryab1 in #6857) - [es][v2] refactor
from_dbmodel
andto_dbmodel
to accept and return db spans (@Manik2708 in #6934) - [grpc][v2] implement v2 grpc dependency reader (@mahadzaryab1 in #6933)
- [es][v2] copy jaeger<->otlp translator from otel contrib (@Manik2708 in #6923)
- [grpc][v2] implement v2 grpc trace writer (@mahadzaryab1 in #6919)
- [grpc][v2] implement
findtraceids
call in grpc reader for remote storage api v2 (@mahadzaryab1 in #6858) - [grpc][v2] implement
getoperations
call in grpc reader for remote storage api v2 (@mahadzaryab1 in #6843) - [grpc][v2] implement
getservices
call in grpc reader for remote storage api v2 (@mahadzaryab1 in #6829) - [refactor] return chunk of traces from remote storage api v2 (@mahadzaryab1 in #6830)
👷 CI Improvements
- [all-in-one] avoid multi-arch builds in merge queue (#6880) (@sAchin-680 in #6882)
- Instruct renovate to pin github action hashes (@yurishkuro in #6860)
⚙️ Refactoring
- Move model/json/model.go to internal/uimodel/converter/v1 (@pipiland2612 in #6973)
- Add usetesting linter and fix lint issues (#6892) (@anurag-rajawat in #6972)
- Delete empty pkg package (@pipiland2612 in #6967)
- Move pkg/otelsemconv to internal/telemetry/otelsemconv (@pipiland2612 in #6961)
- Move pkg/cassandra to internal/storage/cassandra (@pipiland2612 in #6960)
- Move pkg/adjuster to cmd/query/app/querysvc/internal/adjuster (@pipiland2612 in #6956)
- Remove package pkg/netutils (@pipiland2612 in #6955)
- [refactor] remove
traceschunk
type and stream otlp traces directly (@mahadzaryab1 in #6954) - [es] remove pointer signatures from
fromdbmodel
andtodbmodel
(@Manik2708 in #6942) - Move proto-gen to internal (@yurishkuro in #6941)
- Move pkg/es to internal/storage/elasticsearch (@danish9039 in #6937)
- Move pkg/distributedlock to internal/distributedlock (@danish9039 in #6903)
- Move pkg/httpmetrics to internal/httpmetrics (@danish9039 in #6905)
- Move pkg/{gogocodec,httpfs,bearertoken,boundqueue} to internal (@sAchin-680 in #6896)
- Move pkg/metrics to internal/metrics (@danish9039 in #6901)
- Move pkg/kafka to internal/kafka (@danish9039 in #6908)
- Move pkg/prometheus to internal/config/promcfg (@danish9039 in #6911)
- Move model/proto to internal/proto (@danish9039 in #6918)
- [es] move db model out of
v1/elasticsearch/internal/spanstore/internal
(@Manik2708 in #6894) - Move pkg/version to internal/version (@danish9039 in #6913)
- Move model/converter to internal/converter (@danish9039 in #6917)
- Move pkg/gzipfs to internal/gzipfs (@sAchin-680 in #6897)
- Move pkg/jtracer to internal/jtracer (@danish9039 in #6907)
- Move pkg/telemetry to internal/telemetry (@danish9039 in #6912)
- Move pkg/fswatcher to internal/fswatcher (@sAchin-680 in #6895)
- [es] separate the
corespanwriter
fromspanwriter
(@Manik2708 in #6883) - Move pkg/config to internal/config (@gentcod in #6884)
- Move pkg/healthcheck to internal/healthcheck (@danish9039 in #6888)
- Moved pkg/hostname to internal/hostname (@danish9039 in #6886)
- Move pkg/recoveryhandler to internal/recoveryhandler (@danish9039 in #6887)
- Move pkg/tenancy to internal/tenancy (@danish9039 in #6889)
- Move pkg/normalizer to collector (@danish9039 in #6877)
- Replace the use of model/converter/thrift/zipkin (@shuraih775 in #6879)
- [es] remove pointer signatures from
corespanreader
(@Manik2708 in #6874) - [refactor] move interface to remove cmd/agent dependency (@yurishkuro in #6863)
- [agent] refactor udp server (@yurishkuro in #6852)
- [agent] remove unnecessary server interface (@yurishkuro in #6851)
- [es] refactor the
findtraceids
of spanreader to make them reusable for v2 apis (@Manik2708 in #6831) - [es] refactor the
getoperations
andgetservices
of spanreader to make them reusable for v2 apis (@Manik2708 in #6828)
📊 UI Changes
✨ New Features
- Feat: change dag styling and add search functionality (@hari45678 in #2710)
🐞 Bug fixes, Minor Improvements
- Add sample graph data when in dev mode (@hari45678 in #2698)
- Add depth and layout controls and sfdp layout to dag view (@hari45678 in #2691)
- Add sfdp engine in @jaegertracing/plexus (@hari45678 in #2690)
- Add handling or error for invalid json formats and tests (@rohitlohar45 in #2689)
下载链接
- jaeger-1.68.0-darwin-amd64.sha256sum.txt
- jaeger-1.68.0-darwin-amd64.tar.gz
- jaeger-1.68.0-darwin-amd64.tar.gz.asc
- jaeger-1.68.0-darwin-arm64.sha256sum.txt
- jaeger-1.68.0-darwin-arm64.tar.gz
- jaeger-1.68.0-darwin-arm64.tar.gz.asc
- jaeger-1.68.0-linux-amd64.sha256sum.txt
- jaeger-1.68.0-linux-amd64.tar.gz
- jaeger-1.68.0-linux-amd64.tar.gz.asc
- jaeger-1.68.0-linux-arm64.sha256sum.txt
- jaeger-1.68.0-linux-arm64.tar.gz
- jaeger-1.68.0-linux-arm64.tar.gz.asc
- jaeger-1.68.0-linux-ppc64le.sha256sum.txt
- jaeger-1.68.0-linux-ppc64le.tar.gz
- jaeger-1.68.0-linux-ppc64le.tar.gz.asc
- jaeger-1.68.0-linux-s390x.sha256sum.txt
- jaeger-1.68.0-linux-s390x.tar.gz
- jaeger-1.68.0-linux-s390x.tar.gz.asc
- jaeger-1.68.0-windows-amd64.sha256sum.txt
- jaeger-1.68.0-windows-amd64.tar.gz
- jaeger-1.68.0-windows-amd64.tar.gz.asc
- jaeger-1.68.0-windows-amd64.zip
- jaeger-1.68.0-windows-amd64.zip.asc
- jaeger-1.68.0.sha256sum.txt
- jaeger-2.5.0-darwin-amd64.sha256sum.txt
- jaeger-2.5.0-darwin-amd64.tar.gz
- jaeger-2.5.0-darwin-amd64.tar.gz.asc
- jaeger-2.5.0-darwin-arm64.sha256sum.txt
- jaeger-2.5.0-darwin-arm64.tar.gz
- jaeger-2.5.0-darwin-arm64.tar.gz.asc
- jaeger-2.5.0-linux-amd64.sha256sum.txt
- jaeger-2.5.0-linux-amd64.tar.gz
- jaeger-2.5.0-linux-amd64.tar.gz.asc
- jaeger-2.5.0-linux-arm64.sha256sum.txt
- jaeger-2.5.0-linux-arm64.tar.gz
- jaeger-2.5.0-linux-arm64.tar.gz.asc
- jaeger-2.5.0-linux-ppc64le.sha256sum.txt
- jaeger-2.5.0-linux-ppc64le.tar.gz
- jaeger-2.5.0-linux-ppc64le.tar.gz.asc
- jaeger-2.5.0-linux-s390x.sha256sum.txt
- jaeger-2.5.0-linux-s390x.tar.gz
- jaeger-2.5.0-linux-s390x.tar.gz.asc
- jaeger-2.5.0-windows-amd64.sha256sum.txt
- jaeger-2.5.0-windows-amd64.tar.gz
- jaeger-2.5.0-windows-amd64.tar.gz.asc
- jaeger-2.5.0-windows-amd64.zip
- jaeger-2.5.0-windows-amd64.zip.asc
- jaeger-2.5.0.sha256sum.txt
- jaeger-SBOM.spdx.json
- jaeger-tools-1.68.0-darwin-amd64.sha256sum.txt
- jaeger-tools-1.68.0-darwin-amd64.tar.gz
- jaeger-tools-1.68.0-darwin-amd64.tar.gz.asc
- jaeger-tools-1.68.0-darwin-arm64.sha256sum.txt
- jaeger-tools-1.68.0-darwin-arm64.tar.gz
- jaeger-tools-1.68.0-darwin-arm64.tar.gz.asc
- jaeger-tools-1.68.0-linux-amd64.sha256sum.txt
- jaeger-tools-1.68.0-linux-amd64.tar.gz
- jaeger-tools-1.68.0-linux-amd64.tar.gz.asc
- jaeger-tools-1.68.0-linux-arm64.sha256sum.txt
- jaeger-tools-1.68.0-linux-arm64.tar.gz
- jaeger-tools-1.68.0-linux-arm64.tar.gz.asc
- jaeger-tools-1.68.0-linux-ppc64le.sha256sum.txt
- jaeger-tools-1.68.0-linux-ppc64le.tar.gz
- jaeger-tools-1.68.0-linux-ppc64le.tar.gz.asc
- jaeger-tools-1.68.0-linux-s390x.sha256sum.txt
- jaeger-tools-1.68.0-linux-s390x.tar.gz
- jaeger-tools-1.68.0-linux-s390x.tar.gz.asc
- jaeger-tools-1.68.0-windows-amd64.sha256sum.txt
- jaeger-tools-1.68.0-windows-amd64.tar.gz
- jaeger-tools-1.68.0-windows-amd64.tar.gz.asc
- jaeger-tools-1.68.0-windows-amd64.zip
- jaeger-tools-1.68.0-windows-amd64.zip.asc