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