Class: Lapsoss::Middleware::SampleFilter

Inherits:
Base
  • Object
show all
Defined in:
lib/lapsoss/middleware/sample_filter.rb

Overview

Drops events based on sampling strategy or rate.

Instance Method Summary collapse

Constructor Details

#initialize(app, sample_rate: 1.0, sample_callback: nil, sampler: nil) ⇒ SampleFilter

Returns a new instance of SampleFilter.



7
8
9
10
11
12
13
# File 'lib/lapsoss/middleware/sample_filter.rb', line 7

def initialize(app, sample_rate: 1.0, sample_callback: nil, sampler: nil)
  super(app)
  @sampler =
    sampler ||
    sample_callback ||
    Sampling::UniformSampler.new(sample_rate)
end

Instance Method Details

#call(event, hint = {}) ⇒ Object



15
16
17
18
19
# File 'lib/lapsoss/middleware/sample_filter.rb', line 15

def call(event, hint = {})
  return nil unless sample?(event, hint)

  @app.call(event, hint)
end