Class: OneApm::EnvironmentReport
- Inherits:
-
Object
- Object
- OneApm::EnvironmentReport
- Defined in:
- lib/one_apm/support/environment_report.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Class Method Summary collapse
- .registered_reporters ⇒ Object
- .registered_reporters=(logic) ⇒ Object
- .report_on(key, &block) ⇒ Object
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#initialize ⇒ EnvironmentReport
constructor
A new instance of EnvironmentReport.
- #to_a ⇒ Object
Constructor Details
#initialize ⇒ EnvironmentReport
Returns a new instance of EnvironmentReport.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/one_apm/support/environment_report.rb', line 60 def initialize @data = self.class.registered_reporters.inject(Hash.new) do |data, (key, logic)| begin value = logic.call if value data[key] = value OneApm::Manager.record_metric("Supportability/EnvironmentReport/success", 0.0) OneApm::Manager.record_metric("Supportability/EnvironmentReport/success/#{key}", 0.0) else OneApm::Manager.logger.debug("EnvironmentReport ignoring value for #{key.inspect} which came back falsey: #{value.inspect}") OneApm::Manager.record_metric("Supportability/EnvironmentReport/empty", 0.0) OneApm::Manager.record_metric("Supportability/EnvironmentReport/empty/#{key}", 0.0) end rescue => e OneApm::Manager.logger.debug("EnvironmentReport failed to retrieve value for #{key.inspect}: #{e}") OneApm::Manager.record_metric("Supportability/EnvironmentReport/error", 0.0) OneApm::Manager.record_metric("Supportability/EnvironmentReport/error/#{key}", 0.0) end data end end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
58 59 60 |
# File 'lib/one_apm/support/environment_report.rb', line 58 def data @data end |
Class Method Details
.registered_reporters ⇒ Object
10 11 12 |
# File 'lib/one_apm/support/environment_report.rb', line 10 def self.registered_reporters @registered_reporters ||= Hash.new end |
.registered_reporters=(logic) ⇒ Object
14 15 16 |
# File 'lib/one_apm/support/environment_report.rb', line 14 def self.registered_reporters=(logic) @registered_reporters = logic end |
.report_on(key, &block) ⇒ Object
6 7 8 |
# File 'lib/one_apm/support/environment_report.rb', line 6 def self.report_on(key, &block) registered_reporters[key] = block end |
Instance Method Details
#[](key) ⇒ Object
83 84 85 |
# File 'lib/one_apm/support/environment_report.rb', line 83 def [](key) @data[key] end |
#[]=(key, value) ⇒ Object
87 88 89 |
# File 'lib/one_apm/support/environment_report.rb', line 87 def []=(key, value) @data[key] = value end |
#to_a ⇒ Object
91 92 93 |
# File 'lib/one_apm/support/environment_report.rb', line 91 def to_a @data.to_a end |