菜单
开源

1.4 版本发行说明

Tempo 团队很高兴宣布 Tempo 1.4 版本发布。

特性和增强

  • 服务端指标 作为 Tempo 1.4 的核心特性,服务端指标 可从您的追踪生成指标,从而深入了解应用程序随时间变化的性能。

  • 开始时间和结束时间/api/traces/{traceID} 端点中添加了 startend 参数。这使得通过仅查询后端块的子集来实现更高效的搜索。 PR 1388

  • 保护实例免受超大追踪的影响 添加了针对大型追踪的额外保护。这些特性都基于现有的 max_bytes_per_trace 配置参数。 PR 1317PR 1318

  • 全面对冲 利用我们喜爱的解决方案:对冲,提升 Tempo 后端搜索吞吐量。

    querier:
      search:
        external_hedge_requests_at: 5s
        external_hedge_requests_up_to: 3

升级注意事项

升级到 Tempo v1.4 时,请注意以下破坏性变更

  • PR 1227 新增了一个摄取端点,用于支持更快的搜索和准确的块开始/结束时间。在推出分发器之前,先推出所有摄取器,以防止停机。此外,在此期间,摄取器将占用更多资源,应进行扩容,或者大幅限制传入流量。一旦所有分发器和摄取器推出完毕,性能将恢复正常。在内部,我们观察到推出期间摄取器的 CPU 负载增加了约 1.5 倍。

  • PR 1350 在向外部端点添加对冲时,移动了一些查询器选项。

    yaml
    querier:
    search_query_timeout: 30s
    search_external_endpoints: []
    search_prefer_self: 2

    已移至

    yaml
    querier:
    search:
        query_timeout: 30s
        prefer_self: 2
        external_endpoints: []
  • PR 1297 更新了完整后端搜索的 vulture 测试,结果移除了 CLI 参数 tempo-search-retention-duration

Bug 修复

1.4.0 Bug 修复

  • PR 1390 更正了 Azure“Blob Not Found”错误的处理方式。

  • PR 1314 更正了块的开始和结束时间,使其基于实际追踪的开始/结束时间,而非追踪摄取时间。

  • PR 1387 消除了按追踪 ID 搜索时的数据竞争和摄取器崩溃问题。

  • PR 1389 消除了虚假的“在保留期间标记块压缩失败”错误。

  • PR 1379 通过在错误路径上正确重置压缩写入器,消除了消息为“Writer is closed”的错误。

1.4.1 Bug 修复

  • PR 1417 指标生成器:对于单租户设置,不注入 X-Scope-OrgID 头。

  • PR 1420 Compactor:再次填充 compaction_objects_combined_totaltempo_discarded_spans_total{reason="trace_too_large_to_compact"} 指标。

  • PR 1422 Distributor:防止并发调用 forwarder 的 queueManager shutdown 时出现 Panic。