in lib/aws-xray-sdk/sampling/reservoir.rb [26:47]
def borrow_or_take(now, borrowable)
@lock.synchronize do
reset_new_sec(now)
if quota_fresh?(now)
return SamplingDecision::NOT_SAMPLE if @taken_this_sec >= @quota
@taken_this_sec += 1
return SamplingDecision::TAKE
end
if borrowable
return SamplingDecision::NOT_SAMPLE if @borrowed_this_sec >= 1
@borrowed_this_sec += 1
return SamplingDecision::BORROW
end
SamplingDecision::NOT_SAMPLE
end
end