module ZuoraConnect

def self.elastic_apm_defaults

def self.elastic_apm_defaults
  defaults = {}
  case Rails.env.to_s
  when 'production'
    defaults = {
      server_url: "http://apm-server.logging:8200",
      transaction_sample_rate: 0.20,
      capture_body: 'errors'
    }
  when 'staging'
    defaults = {
      server_url: "http://apm-server.logging:8200",
      transaction_sample_rate: 1.0
    }
  when 'development'
    defaults = {
      server_url: "http://logging.0.ecc.auw2.zuora:8200",
      transaction_sample_rate: 1.0
    }
  when 'test'
    defaults = {
      active: false, 
      disable_send: true
    }
  end
  defaults.merge!({
    disable_start_message: true,
    pool_size: 1, 
    transaction_max_spans: 500, 
    ignore_url_patterns: ['^\/admin\/resque.*', '^\/admin\/redis.*', '^\/admin\/peek.*', '^\/peek.*'], 
    verify_server_cert: false,
    log_level: Logger::INFO,
    service_name: ENV['DEIS_APP'].present? ? ENV['DEIS_APP'] : Rails.application.class.parent_name,
    logger: ZuoraConnect.custom_logger(name: "ElasticAPM", level: MonoLogger::WARN)
  })
  defaults.merge!({disable_send: true}) if defined?(Rails::Console)
  
  return defaults
end