Class: Raven::InMemoryAsyncSender

Inherits:
Object
  • Object
show all
Defined in:
lib/sentry-raven/in_memory_async_sender.rb

Instance Method Summary collapse

Constructor Details

#initialize(queue_size: 100, worker_count: 1, logger: Raven.logger) ⇒ InMemoryAsyncSender

Returns a new instance of InMemoryAsyncSender.



3
4
5
6
7
8
9
10
11
# File 'lib/sentry-raven/in_memory_async_sender.rb', line 3

def initialize(queue_size: 100, worker_count: 1, logger: Raven.logger)
  @worker_count = worker_count
  @logger = logger
  @unsent = SizedQueue.new(queue_size)
  @workers = ThreadGroup.new
  @running = false
  @pid = nil
  @mutex = Mutex.new
end

Instance Method Details

#call(event) ⇒ Object



13
14
15
16
17
18
# File 'lib/sentry-raven/in_memory_async_sender.rb', line 13

def call(event)
  ensure_workers_running
  return will_not_deliver(event) if @unsent.size >= @unsent.max

  @unsent << event
end