class XRay::RulePoller
Polls sampling rules from X-Ray service
Attributes
cache[R]
connector[R]
Public Class Methods
new(cache:, connector:)
click to toggle source
# File lib/aws-xray-sdk/sampling/rule_poller.rb, line 9 def initialize(cache:, connector:) @cache = cache @connector = connector end
Public Instance Methods
run()
click to toggle source
# File lib/aws-xray-sdk/sampling/rule_poller.rb, line 14 def run @worker ||= begin Thread.new { poll } end @worker.run end
Private Instance Methods
poll()
click to toggle source
# File lib/aws-xray-sdk/sampling/rule_poller.rb, line 23 def poll loop do refresh_cache Thread.stop end end
refresh_cache()
click to toggle source
# File lib/aws-xray-sdk/sampling/rule_poller.rb, line 30 def refresh_cache now = Time.now.to_i rules = @connector.fetch_sampling_rules unless rules.nil? || rules.empty? @cache.load_rules(rules) @cache.last_updated = now end rescue StandardError => e logger.warn %(failed to fetch X-Ray sampling rules due to #{e.message}) end