Method: Datadog::Core::TokenBucket#effective_rate

Defined in:
lib/datadog/core/rate_limiter.rb

#effective_rateFloat

Ratio of ‘conformance’ per ‘total messages’ checked averaged for the past 2 buckets

Returns 1.0 when no messages have been checked yet.

Returns:

  • (Float)

    Conformance ratio, between [0,1]



76
77
78
79
80
81
82
83
# File 'lib/datadog/core/rate_limiter.rb', line 76

def effective_rate
  return 0.0 if @rate.zero?
  return 1.0 if @rate < 0 || @total_messages.zero?

  return current_window_rate if @prev_conforming_messages.nil? || @prev_total_messages.nil?

  (@conforming_messages.to_f + @prev_conforming_messages.to_f) / (@total_messages + @prev_total_messages)
end