Class: Datadog::Tracing::Component::SamplerDelegatorComponent

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/tracing/component.rb

Overview

Sampler wrapper component, to allow for hot-swapping the sampler instance used by the tracer. Swapping samplers happens during Dynamic Configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sampler) ⇒ SamplerDelegatorComponent

Returns a new instance of SamplerDelegatorComponent.



177
178
179
# File 'lib/datadog/tracing/component.rb', line 177

def initialize(sampler)
  @sampler = sampler
end

Instance Attribute Details

#sampler ⇒ Object

Returns the value of attribute sampler.



175
176
177
# File 'lib/datadog/tracing/component.rb', line 175

def sampler
  @sampler
end

Instance Method Details

#reconsider_sample_resource!(trace) ⇒ Object



185
186
187
188
189
# File 'lib/datadog/tracing/component.rb', line 185

def reconsider_sample_resource!(trace)
  return unless @sampler.respond_to?(:reconsider_sample_resource!)

  @sampler.reconsider_sample_resource!(trace)
end

#resource_sampling? ⇒ Boolean

Returns:

  • (Boolean)


191
192
193
194
# File 'lib/datadog/tracing/component.rb', line 191

def resource_sampling?
  @sampler.respond_to?(:resource_sampling?) &&
    @sampler.resource_sampling?
end

#sample!(trace) ⇒ Object



181
182
183
# File 'lib/datadog/tracing/component.rb', line 181

def sample!(trace)
  @sampler.sample!(trace)
end

#update(*args, **kwargs) ⇒ Object



196
197
198
199
200
# File 'lib/datadog/tracing/component.rb', line 196

def update(*args, **kwargs)
  return unless @sampler.respond_to?(:update)

  @sampler.update(*args, **kwargs)
end