美文网首页
21、Skywalking的埋点-Agent动态采样控制

21、Skywalking的埋点-Agent动态采样控制

作者: rock_fish | 来源:发表于2021-07-19 17:44 被阅读0次

    通过Skywalking的动态配置机制,可以动态下发Agent端的采样配置,官方提供了如下几种:

    Config Key Value Description Value Format Example Required Plugin(s)
    agent.sample_n_per_3_secs The number of sampled traces per 3 seconds -1 -
    agent.ignore_suffix If the operation name of the first span is included in this set, this segment should be ignored. Multiple values should be separated by , .txt,.log -
    agent.trace.ignore_path The value is the path that you need to ignore, multiple paths should be separated by , more details /your/path/1/**,/your/path/2/** apm-trace-ignore-plugin
    agent.span_limit_per_segment The max number of spans per segment. 300 -

    采样控制的逻辑如下图所示:


    image.png
    agent.ignore_suffix

    后缀匹配成功则忽略,其内容是集合,多个值之间使用,隔开,如:.jpg,.jpeg

    如果segment中第一个span(通常是EntrySpan)的operation 名称匹配到了,那么这个segment 将被忽略。

    agent.trace.ignore_path
    1. 其内容是集合,多个值之间使用,隔开,如:/your/path/1/** , /your/path/2/**
    2. 此功能由apm-trace-ignore-plugin完成,此插件在optional-plugins目录下,若要使用,需要拷贝到plugins目录下。
    3. 如果segment中第一个span(通常是EntrySpan)的operation 名称匹配到了,那么这个segment 将被忽略;从采样逻辑来看,其作为采样判断的第三道检查(第二道是是否强制采样),如果没有匹配到,则继续按照agent.sample_n_per_3_secs的值来控制采样。

    实例:

    #  /path/?   Match any single character
    #  /path/*   Match any number of characters
    #  /path/**  Match any number of characters and support multilevel directories
    
    agent.sample_n_per_3_secs

    每3秒钟,采样多少个segment ,超出部分直接丢弃;如果采样率是-1 ,则全采样

    agent.span_limit_per_segment

    上边的那些参数控制是否采样(是否创建traceSegment)后,而这个参数则用来控制创建了segment后,它里边最多有多少个span,多出的部分丢弃掉。

    番外篇forceSample

    如果有上游请求,即ContextCarrier不是空,则一定创建此TraceSegment,进而会创建跟此TraceSegment相关的Entryspan、Localspan、Exitspan。

    相关文章

      网友评论

          本文标题:21、Skywalking的埋点-Agent动态采样控制

          本文链接:https://www.haomeiwen.com/subject/ddbxjltx.html