Class: Sqreen::Ecosystem::Tracing::Sampler

Inherits:
Object
  • Object
show all
Defined in:
lib/sqreen/ecosystem/tracing/sampler.rb

Defined Under Namespace

Classes: AlwaysFalsePrimitive, CallsPrimitive, Line, MaxCallsPrimitive, MaxDurationMinutesPrimitive, RandomPrimitive, TargetPerMinutePrimitive

Constant Summary collapse

PRIMITIVES_MAP =
{
  "calls"                => CallsPrimitive,
  "random"               => RandomPrimitive,
  "max_duration_minutes" => MaxDurationMinutesPrimitive,
  "target_per_minute"    => TargetPerMinutePrimitive,
  "max_calls"            => MaxCallsPrimitive,
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ Sampler

Returns a new instance of Sampler.

Parameters:

  • definition (Array<Hash{String=>Object}>)


17
18
19
# File 'lib/sqreen/ecosystem/tracing/sampler.rb', line 17

def initialize(definition)
  @lines = definition.map { |h| Line.new(h) }
end

Instance Method Details

#should_sample?Boolean

Returns:

  • (Boolean)


21
22
23
24
# File 'lib/sqreen/ecosystem/tracing/sampler.rb', line 21

def should_sample?
  line = @lines.find(&:triggers?)
  line ? line.saved_definition : false
end