Method: Datadog::Sampling::TokenBucket#initialize

Defined in:
lib/ddtrace/sampling/rate_limiter.rb

#initialize(rate, max_tokens = rate) ⇒ TokenBucket

Returns a new instance of TokenBucket.

Parameters:

  • Allowance rate, in units per second if rate is negative, always allow if rate is zero, never allow

  • (defaults to: rate)

    Limit of available tokens



34
35
36
37
38
39
40
41
42
# File 'lib/ddtrace/sampling/rate_limiter.rb', line 34

def initialize(rate, max_tokens = rate)
  @rate = rate
  @max_tokens = max_tokens

  @tokens = max_tokens
  @total_messages = 0
  @conforming_messages = 0
  @last_refill = Utils::Time.get_time
end