TraceMesh: Scalable and Streaming Sampling for Distributed Traces

2024年06月11日
  • 简介
    分布式跟踪是监控基于云和数据中心系统的基本元素。它提供了对请求或操作在多个服务中的完整生命周期的可见性,这对于理解系统依赖关系和性能瓶颈至关重要。为了减少计算和存储开销,大多数跟踪框架采用统一采样策略,这不可避免地捕获重叠和冗余信息。更先进的方法采用基于学习的方法来偏向于更具信息量的跟踪。然而,现有方法没有考虑到跟踪数据的高维和动态性质,这对于跟踪采样的实际部署至关重要。为了解决这些实际挑战,本文提出了TraceMesh,一种可扩展的分布式跟踪流采样器。TraceMesh采用局部敏感哈希(LSH)将跟踪投影到低维空间中,同时保持它们的相似性,以提高采样效率。在这个过程中,TraceMesh以统一和流畅的方式适应先前未见过的跟踪特征。随后,TraceMesh通过不断演化的聚类对跟踪进行采样,动态调整采样决策以避免重复跟踪的过度采样。该方法使用从开源微服务基准和生产服务系统收集的跟踪数据进行评估。实验结果表明,TraceMesh在采样准确性和效率方面显著优于现有的最先进方法。
  • 作者讲解
  • 图表
  • 解决问题
    如何解决分布式跟踪系统中采样效率低下的问题?
  • 关键思路
    TraceMesh采用局部敏感哈希(LSH)将跟踪数据投影到低维空间,从而提高采样效率。同时,通过动态调整采样决策来避免重复跟踪的过采样。
  • 其它亮点
    TraceMesh在开源微服务基准测试和生产服务系统中的实验结果表明,TraceMesh在采样准确性和效率方面均显著优于现有方法。
  • 相关研究
    与本文相关的研究包括:1. Zipkin:一种分布式跟踪系统;2. Jaeger:一种开源、端到端的分布式跟踪系统;3. Dapper:一种大规模分布式系统跟踪工具。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问