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 |