class Aspecto::OpenTelemetry::Sampler::SamplingRule

Single rule for sampling

Attributes

context[R]
sampler[R]

Public Class Methods

new(rule_config) click to toggle source
# File lib/aspecto/opentelemetry/sampler/sampling_rule.rb, line 12
def initialize(rule_config)
  @id = rule_config["_id"]
  @sampler = ::OpenTelemetry::SDK::Trace::Samplers.trace_id_ratio_based(rule_config["samplingRate"])
  @conditions = rule_config["conditions"].map { |condition_config| Condition.new condition_config }
  @context = rule_config["context"]
end

Public Instance Methods

satisfies?(attributes, span_name) click to toggle source
# File lib/aspecto/opentelemetry/sampler/sampling_rule.rb, line 21
def satisfies?(attributes, span_name)
  @conditions.all? { |condition| condition.satisfies?(attributes, span_name) }
end