Class: LaunchDarkly::EventBuffer
- Inherits:
-
Object
- Object
- LaunchDarkly::EventBuffer
- Defined in:
- lib/ldclient-rb/events.rb
Instance Method Summary collapse
- #add_event(event) ⇒ Object
- #add_to_summary(event) ⇒ Object
- #clear ⇒ Object
- #get_and_clear_dropped_count ⇒ Object
- #get_payload ⇒ Object
-
#initialize(capacity, logger) ⇒ EventBuffer
constructor
A new instance of EventBuffer.
Constructor Details
#initialize(capacity, logger) ⇒ EventBuffer
Returns a new instance of EventBuffer.
362 363 364 365 366 367 368 369 |
# File 'lib/ldclient-rb/events.rb', line 362 def initialize(capacity, logger) @capacity = capacity @logger = logger @capacity_exceeded = false @dropped_events = 0 @events = [] @summarizer = EventSummarizer.new end |
Instance Method Details
#add_event(event) ⇒ Object
371 372 373 374 375 376 377 378 379 380 381 382 383 |
# File 'lib/ldclient-rb/events.rb', line 371 def add_event(event) if @events.length < @capacity @logger.debug { "[LDClient] Enqueueing event: #{event.to_json}" } @events.push(event) @capacity_exceeded = false else @dropped_events += 1 if !@capacity_exceeded @capacity_exceeded = true @logger.warn { "[LDClient] Exceeded event queue capacity. Increase capacity to avoid dropping events." } end end end |
#add_to_summary(event) ⇒ Object
385 386 387 |
# File 'lib/ldclient-rb/events.rb', line 385 def add_to_summary(event) @summarizer.summarize_event(event) end |
#clear ⇒ Object
399 400 401 402 |
# File 'lib/ldclient-rb/events.rb', line 399 def clear @events = [] @summarizer.clear end |
#get_and_clear_dropped_count ⇒ Object
393 394 395 396 397 |
# File 'lib/ldclient-rb/events.rb', line 393 def get_and_clear_dropped_count ret = @dropped_events @dropped_events = 0 ret end |
#get_payload ⇒ Object
389 390 391 |
# File 'lib/ldclient-rb/events.rb', line 389 def get_payload return FlushPayload.new(@events, @summarizer.snapshot) end |