Module: Datadog::Diagnostics::EnvironmentLogger
- Defined in:
 - lib/ddtrace/diagnostics/environment_logger.rb
 
Overview
A holistic collection of the environment in which ddtrace is running. This logger should allow for easy reporting by users to Datadog support.
Class Method Summary collapse
- 
  
    
      .log!(transport_responses)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Outputs environment information to Datadog.logger.
 
Class Method Details
.log!(transport_responses) ⇒ Object
Outputs environment information to Datadog.logger. Executes only for the lifetime of the program.
      15 16 17 18 19 20 21 22 23 24 25 26 27  | 
    
      # File 'lib/ddtrace/diagnostics/environment_logger.rb', line 15 def log!(transport_responses) return if (defined?(@executed) && @executed) || !log? @executed = true data = EnvironmentCollector.new.collect!(transport_responses) data.reject! { |_, v| v.nil? } # Remove empty values from hash output log_environment!(data.to_json) log_error!('Agent Error'.freeze, data[:agent_error]) if data[:agent_error] rescue => e Datadog.logger.warn("Failed to collect environment information: #{e} Location: #{Array(e.backtrace).first}") end  |