发布日期: 2023-07-07
版本号: v1.47.0

Jaeger 1.47.0版本于2023年7月5日发布,主要更新如下:

后端变更

  • 破坏性变更:由于OpenTelemetry的Prometheus导出器调整,指标名称不再默认标准化。现需通过prometheus.query.normalize-callsprometheus.query.normalize-duration标志保持旧版本兼容性。
  • 新功能:新增Cassandra的TLS证书监视器关闭机制、Kafka消费者禁用快速协商选项,以及支持特定Prometheus指标标准化。
  • 修复与优化:包括完善memstore插件文档、迁移至OpenTelemetry的准备工作、HotROD示例中OTEL日志与导出超时优化、tracegen工具支持生成更多跨度数据、修复单元测试竞态条件等问题。

UI变更

  • 界面版本固定为1.31.0,同步更新日志内容。

更新内容 (中文)

1.47.0 (2023-07-05)

后端变更

⛔ 破坏性变更

  • [SPM] 由于 OpenTelemetry 的 prometheus exporter 存在破坏性变更(详情) 指标名称默认不再进行规范化处理,这意味着预期的指标名称将保持为 callsduration_[buckets|count|sum]。可通过以下标志实现与旧版 OpenTelemetry Collector 的向后兼容:
    • prometheus.query.normalize-calls: 若为 true,规范化 "calls" 指标名称(例如 "calls_total")
    • prometheus.query.normalize-duration: 若为 true,规范化 "duration" 指标名称以包含持续时间单位(例如 "duration_milliseconds_bucket")

新功能

  • [Cassandra] 添加 Configuration.Close() 确保关闭 TLS 证书监视器 (@kennyaz in #4515)
  • 为 Kafka 消费者添加 *.kerberos.disable-fast-negotiation 选项 (@pmuls99 in #4520)
  • 支持针对 OpenTelemetry 兼容性的特定指标进行 Prometheus 规范化 (@albertteoh in #4555)

错误修复与小幅改进

  • 添加 memstore 插件说明文档 (@yurishkuro in 283bdd9)
  • 传递包装器而非 opentracing.Tracer 以便未来迁移至 OTEL [第一部分] (@afzalbin64 in #4529)
  • [hotROD] 为 customer 服务添加 OTEL 埋点 (@afzal442 in #4559)
  • [hotROD] 使用 OTEL 替换 gRPC 埋点 (@afzal442 in #4558)
  • [hotROD] 升级 redis 服务使用原生 OTEL 埋点 (@afzal442 in #4533)
  • [hotROD] 修复 HotRod 示例中的 OTEL 日志记录 (@albertteoh in #4556)
  • [hotrod] 缩短 span 导出器的批次超时时间以加快 span 导出 (@GLVSKiriti in #4518)
  • [tracegen] 新增生成更多 span 和属性的选项以支持更多用例 (@yurishkuro in #4535)
  • 构建优化:当代码树不匹配任何标签时重建 jaeger-ui (@bobrik in #4553)
  • [测试] 通过调整日志记录修复因竞态条件导致的单元测试失败 (@yurishkuro in #4546) 解决 #4497

前端变更

  • 前端版本固定为 1.31.0

更新内容 (原始)

1.47.0 (2023-07-05)

Backend Changes

⛔ Breaking Changes

  • [SPM] Due to a breaking change in OpenTelemetry’s prometheus exporter (details) metric names will no longer be normalized by default, meaning that the expected metric names would be calls and duration_[buckets|count|sum]. Backwards compatibility with older OpenTelemetry Collector versions can be achieved through the following flags:
    • prometheus.query.normalize-calls: If true, normalizes the “calls” metric name. e.g. “calls_total”.
    • prometheus.query.normalize-duration: If true, normalizes the “duration” metric name to include the duration units. e.g. “duration_milliseconds_bucket”.

New Features

  • [Cassandra] Add Configuration.Close() to ensure TLS cert watcher is closed (@kennyaz in #4515)
  • Add *.kerberos.disable-fast-negotiation option to Kafka consumer (@pmuls99 in #4520)
  • Support Prometheus normalization for specific metrics related to OpenTelemetry compatibility (@albertteoh in #4555)

Bug fixes, Minor Improvements

  • Add readme for memstore plugin (@yurishkuro in 283bdd9)
  • Pass a wrapper instead of opentracing.Tracer to ease migration to OTEL in the future [part 1] (@afzalbin64 in #4529)
  • [hotROD] Add OTEL instrumentation to customer svc (@afzal442 in #4559)
  • [hotROD] Replace gRPC instrumentation with OTEL (@afzal442 in #4558)
  • [hotROD]: Upgrade redis service to use native OTEL instrumentation (@afzal442 in #4533)
  • [hotROD] Fix OTEL logging in HotRod example (@albertteoh in #4556)
  • [hotrod] Reduce span exporter’s batch timeout to let the spans be exported sooner (@GLVSKiriti in #4518)
  • [tracegen] Add options to generate more spans and attributes for additional use cases (@yurishkuro in #4535)
  • Build improvement to rebuild jaeger-ui if the tree does not match any tag (@bobrik in #4553)
  • [Test] Fixed a race condition causing unit test failure by changing the logging (@yurishkuro in #4546) resolves #4497

UI Changes

  • UI pinned to version 1.31.0.

下载链接