module TingYun::Instrumentation::Support::ParameterFiltering

Public Instance Methods

dot_flattened(nested_hash, result={}) click to toggle source

turns {'a' => {'b' => 'c'}} into {'b' => 'c'}

# File lib/ting_yun/instrumentation/support/parameter_filtering.rb, line 24
def dot_flattened(nested_hash, result={})
  nested_hash.each do |key, val|
    next if val == nil
    if val.respond_to?(:has_key?)
      dot_flattened(val, result)
    else
      result[key] = val
    end
  end
  result
end
filter_rails_request_parameters(params) click to toggle source
# File lib/ting_yun/instrumentation/support/parameter_filtering.rb, line 12
def filter_rails_request_parameters(params)
  result = params.dup
  result.delete("controller")
  result.delete("action")
  result.delete("commit")
  result.delete("authenticity_token")
  result.delete_if{|_,v| !v.is_a? String}
  TingYun::Agent.config["action_tracer.ignored_params"].split(',').each{|key| result.delete(key)}
  result
end
flattened_filter_request_parameters(params) click to toggle source
# File lib/ting_yun/instrumentation/support/parameter_filtering.rb, line 36
def flattened_filter_request_parameters(params)
  filter_rails_request_parameters(dot_flattened(params))
end