class Datadog::Sampling::SimpleRule
A Rule that matches a span based on operation name and/or service name and applies a fixed sampling to matching spans.
Public Class Methods
new(name: SimpleMatcher::MATCH_ALL, service: SimpleMatcher::MATCH_ALL, sample_rate: 1.0)
click to toggle source
@param name [String,Regexp,Proc] Matcher
for case equality (===) with the span name, defaults to always match @param service [String,Regexp,Proc] Matcher
for case equality (===) with the service name, defaults to always match @param sample_rate [Float] Sampling
rate between +[0,1]+
Calls superclass method
Datadog::Sampling::Rule::new
# File lib/ddtrace/sampling/rule.rb, line 46 def initialize(name: SimpleMatcher::MATCH_ALL, service: SimpleMatcher::MATCH_ALL, sample_rate: 1.0) # We want to allow 0.0 to drop all traces, but \RateSampler # considers 0.0 an invalid rate and falls back to 100% sampling. # # We address that here by not setting the rate in the constructor, # but using the setter method. # # We don't want to make this change directly to \RateSampler # because it breaks its current contract to existing users. sampler = Datadog::RateSampler.new sampler.sample_rate = sample_rate super(SimpleMatcher.new(name: name, service: service), sampler) end