15、分布式追踪:开销、成本与采样策略解析

分布式追踪:开销、成本与采样策略解析

1. 分布式追踪概述

在分布式系统中,对服务进行适当的检测是分布式追踪的第一步。这一过程会产生大量数据,远超开发者能够处理的范围。因此,需要有工具来筛选这些数据,以找到理解和改进应用程序性能所需的洞察。

多数追踪解决方案包含以下组件:
- SDK :让应用开发者创建和注释跨度(spans)。
- 代理(Agent) :部分解决方案会有代理,以边车进程形式或在同一主机上靠近应用服务运行。
- 收集器(Collectors) :启动聚合过程。
- 中央服务 :对跨度进行分析和存储。

2. 应用程序开销
2.1 延迟(Latency)

延迟指处理请求所需的时间,对应用程序所有者至关重要。收集构建追踪所需的数据也可能增加延迟。创建和完成跨度、添加标签和日志等操作都会产生延迟。

以下是一些具体操作及其可能产生的延迟:
- 创建跨度 :可能需要分配新对象、添加操作名称引用、读取性能计时器值,还可能更新线程本地状态。
- 记录事件 :可能需要将数据结构序列化为可通过网络发送的通用格式,通常是JSON,这需要额外的分配和时间来转换数据。
- 完成跨度 :可能需要读取性能计时器值、更新对象字段并将对象存储到共享缓冲区。

为减少序列化成本,可以将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值