Class: OneApm::Support::RenameRulesEngine

Inherits:
Object
  • Object
show all
Defined in:
lib/one_apm/support/rename_rules_engine.rb,
lib/one_apm/support/rename_rules_engine/rename/base.rb,
lib/one_apm/support/rename_rules_engine/rename/engine.rb,
lib/one_apm/support/rename_rules_engine/rename/header.rb,
lib/one_apm/support/rename_rules_engine/rename/segment.rb,
lib/one_apm/support/rename_rules_engine/rename/parameter.rb,
lib/one_apm/support/rename_rules_engine/external_rename_rule.rb,
lib/one_apm/support/rename_rules_engine/match_expression/url.rb,
lib/one_apm/support/rename_rules_engine/match_expression/base.rb,
lib/one_apm/support/rename_rules_engine/match_expression/engine.rb,
lib/one_apm/support/rename_rules_engine/match_expression/method.rb,
lib/one_apm/support/rename_rules_engine/match_expression/split_object.rb

Defined Under Namespace

Modules: MatchExpression, Rename Classes: ExternalRenameRule, Rule

Class Method Summary collapse

Class Method Details

.create_or_update_external_rules(connect_response) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# 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_rulesObject



32
33
34
# 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) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# 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) ⇒ Object

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



23
24
25
26
# 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