ZipKin样本取值源码探析

本文深入探讨ZipKin的采样策略,重点关注 BoundarySampler 和 CountingSampler 的实现。BoundarySampler适用于高流量场景,通过取余判断采样,存在浮动误差;CountingSampler适合低流量,准确但不支持大流量。文章通过源码分析这两种策略的工作原理,建议在实际应用中考虑使用BoundarySampler以应对潜在的流量增长。
摘要由CSDN通过智能技术生成

ZipKin是一个链路追踪服务,可以帮助我们追踪、分析多个服务之间调用延迟情况,可到官网了解更多情况 https://zipkin.io/,本文主要通过源码来探析一下ZipKin如何进行抽样统计。

在zipkin客户端采样率是通过Sampler类来完全控制,代码如下,

package com.github.kristofa.brave;

public abstract class Sampler {

  public static final Sampler ALWAYS_SAMPLE = new Sampler() {
    @Override public boolean isSampled(long traceId) {
      return true;
    }

    @Override public String toString() {
      return "AlwaysSample";
    }
  };

  public static final Sampler NEVER_SAMPLE = new Sampler() {
    @Override public boolean isSampled(long traceId) {
      return false;
    }

    @Override public String toString() {
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值