lib/new_relic/agent/agent.rb in newrelic_rpm-3.6.1.86.beta vs lib/new_relic/agent/agent.rb in newrelic_rpm-3.6.1.87

- old
+ new

@@ -501,9 +501,27 @@ @unsent_timeslice_data = {} @last_harvest_time = Time.now @launch_time = Time.now end + def add_harvest_sampler(subclass) + begin + ::NewRelic::Agent.logger.debug "#{subclass.name} not supported on this platform." and return unless subclass.supported_on_this_platform? + sampler = subclass.new + if subclass.use_harvest_sampler? + stats_engine.add_harvest_sampler sampler + ::NewRelic::Agent.logger.debug "Registered #{subclass.name} for harvest time sampling" + else + stats_engine.add_sampler sampler + ::NewRelic::Agent.logger.debug "Registered #{subclass.name} for periodic sampling" + end + rescue NewRelic::Agent::Sampler::Unsupported => e + ::NewRelic::Agent.logger.info "#{subclass} sampler not available: #{e}" + rescue => e + ::NewRelic::Agent.logger.error "Error registering sampler:", e + end + end + private # All of this module used to be contained in the # start_worker_thread method - this is an artifact of # refactoring and can be moved, renamed, etc at will