process_matched_rule

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