class OneApm::Support::RenameRulesEngine

Public Class Methods

create_or_update_external_rules(connect_response) click to toggle source
# File lib/one_apm/support/rename_rules_engine.rb, line 9
def create_or_update_external_rules(connect_response)
  unpacked_rules = unpack_rules(connect_response)
  if unpacked_rules.nil?
    nil
  elsif current_external_rename_rules.nil?
    OneApm::Manager.agent.external_rename_rules = ExternalRenameRule.new(unpacked_rules)
  elsif need_update?(unpacked_rules)
    OneApm::Manager.agent.external_rename_rules = ExternalRenameRule.new(unpacked_rules)
    OneApm::Manager.logger.debug "Updated RenameRules from version : #{unpacked_rules['hash_value']}"
  end
end
current_external_rename_rules() click to toggle source
# File lib/one_apm/support/rename_rules_engine.rb, line 32
def current_external_rename_rules
  OneApm::Manager.agent.external_rename_rules
end
need_update?(unpacked_rules) click to toggle source
# File lib/one_apm/support/rename_rules_engine.rb, line 28
def need_update?(unpacked_rules)
  current_external_rename_rules.hash_value.to_i < unpacked_rules['hash_value'].to_i
end
unpack_rules(connect_response) click to toggle source

There are two kinds of response First one from connect data, another one from event_loop

# File lib/one_apm/support/rename_rules_engine.rb, line 23
def unpack_rules(connect_response)
  return nil if connect_response.nil?
  connect_response['btm_value'].nil? ? connect_response : connect_response['btm_value']
end