# File lib/new_relic/agent/sampler_collection.rb, line 50
      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