def initialize
@data = self.class.registered_reporters.inject(Hash.new) do |data, (key, logic)|
begin
value = logic.call
if value
data[key] = value
Agent.record_metric("Supportability/EnvironmentReport/success", 0.0)
Agent.record_metric("Supportability/EnvironmentReport/success/#{key}", 0.0)
else
Agent.logger.debug("EnvironmentReport ignoring value for #{key.inspect} which came back falsey: #{value.inspect}")
Agent.record_metric("Supportability/EnvironmentReport/empty", 0.0)
Agent.record_metric("Supportability/EnvironmentReport/empty/#{key}", 0.0)
end
rescue => e
Agent.logger.debug("EnvironmentReport failed to retrieve value for #{key.inspect}: #{e}")
Agent.record_metric("Supportability/EnvironmentReport/error", 0.0)
Agent.record_metric("Supportability/EnvironmentReport/error/#{key}", 0.0)
end
data
end
end