Class: Datadog::PrioritySampler
- Inherits:
-
Object
- Object
- Datadog::PrioritySampler
- Extended by:
- Forwardable
- Defined in:
- lib/ddtrace/sampler.rb
Overview
PrioritySampler
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ PrioritySampler
constructor
A new instance of PrioritySampler.
- #sample(span) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ PrioritySampler
Returns a new instance of PrioritySampler.
95 96 97 98 |
# File 'lib/ddtrace/sampler.rb', line 95 def initialize(opts = {}) @base_sampler = opts[:base_sampler] || RateSampler.new @post_sampler = opts[:post_sampler] || RateByServiceSampler.new end |
Instance Method Details
#sample(span) ⇒ Object
100 101 102 103 104 105 106 107 |
# File 'lib/ddtrace/sampler.rb', line 100 def sample(span) span.context.sampling_priority = Datadog::Ext::Priority::AUTO_REJECT if span.context return unless @base_sampler.sample(span) return unless @post_sampler.sample(span) span.context.sampling_priority = Datadog::Ext::Priority::AUTO_KEEP if span.context true end |