Method: NewRelic::Agent::SamplerCollection#add_sampler

Defined in:
lib/new_relic/agent/sampler_collection.rb

#add_sampler(sampler_class) ⇒ Object

[View source]

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/new_relic/agent/sampler_collection.rb', line 49

def add_sampler(sampler_class)
  supported = sampler_class.supported_on_this_platform?
  enabled = sampler_class.enabled?
  if supported && enabled
    if !sampler_class_registered?(sampler_class)
      sampler = sampler_class.new
      sampler.setup_events(@event_listener) if sampler.respond_to?(:setup_events)
      @samplers << sampler
      ::NewRelic::Agent.logger.debug("Registered #{sampler_class.name} for harvest time sampling.")
    else
      ::NewRelic::Agent.logger.warn("Ignoring addition of #{sampler_class.name} because it is already registered.")
    end
  else
    ::NewRelic::Agent.logger.debug("#{sampler_class.name} not supported on this platform.")
  end
rescue NewRelic::Agent::Sampler::Unsupported => e
  ::NewRelic::Agent.logger.info("#{sampler_class.name} not available: #{e}")
rescue => e
  ::NewRelic::Agent.logger.error('Error registering sampler:', e)
end