class NewRelic::Agent::EventBuffer
Attributes
Public Class Methods
Source
# File lib/new_relic/agent/event_buffer.rb, line 23 def initialize(capacity) @capacity = capacity @items = [] @seen = 0 end
Public Instance Methods
Source
# File lib/new_relic/agent/event_buffer.rb, line 48 def <<(x) append(x) self # return self for method chaining end
Source
# File lib/new_relic/agent/event_buffer.rb, line 43 def append(x) @seen += 1 append_event(x) end
Source
# File lib/new_relic/agent/event_buffer.rb, line 34 def capacity=(new_capacity) @capacity = new_capacity old_items = @items @items = [] old_seen = @seen old_items.each { |i| append(i) } @seen = old_seen end
Source
# File lib/new_relic/agent/event_buffer.rb, line 53 def full? @items.size >= @capacity end
Source
# File lib/new_relic/agent/event_buffer.rb, line 81 def metadata { :capacity => @capacity, :captured => @items.size, :seen => @seen } end
Source
# File lib/new_relic/agent/event_buffer.rb, line 61 def note_dropped @seen += 1 end
Source
# File lib/new_relic/agent/event_buffer.rb, line 69 def num_dropped @seen - @items.size end
Source
# File lib/new_relic/agent/event_buffer.rb, line 29 def reset! @items = [] @seen = 0 end
Source
# File lib/new_relic/agent/event_buffer.rb, line 73 def sample_rate @seen > 0 ? (size.to_f / @seen) : 0.0 end