in lib/aws-xray-sdk/sampling/default_sampler.rb [78:97]
def process_matched_rule(rule, now)
rule.increment_request_count
reservoir = rule.reservoir
sample = true
decision = reservoir.borrow_or_take(now, rule.borrowable?)
if decision == SamplingDecision::BORROW
rule.increment_borrow_count
elsif decision == SamplingDecision::TAKE
rule.increment_sampled_count
elsif rand <= rule.rate
rule.increment_sampled_count
else
sample = false
end
sample ? rule.name : false
end