class Inspec::Telemetry::Collector
A Singleton collection of data series objects.
Attributes
config[R]
Public Class Methods
new()
click to toggle source
# File lib/inspec/utils/telemetry/collector.rb, line 12 def initialize @data_series = [] @telemetry_toggled_off = false load_config end
Public Instance Methods
add_data_series(data_series)
click to toggle source
Add a data series to the collection. @return [True]
# File lib/inspec/utils/telemetry/collector.rb, line 25 def add_data_series(data_series) @data_series << data_series end
disable_telemetry()
click to toggle source
A way to disable the telemetry system.
# File lib/inspec/utils/telemetry/collector.rb, line 41 def disable_telemetry @telemetry_toggled_off = true end
find_or_create_data_series(name)
click to toggle source
Finds the data series object with the specified name and returns it. If it does not exist then creates a new data series with that name and returns it. @return [Inspec::Telemetry::DataSeries]
# File lib/inspec/utils/telemetry/collector.rb, line 55 def find_or_create_data_series(name) ds = @data_series.select { |data_series| data_series.name.eql?(name) } if ds.empty? new_data_series = Inspec::Telemetry::DataSeries.new(name) @data_series << new_data_series new_data_series else ds.first end end
list_data_series()
click to toggle source
The entire data series collection. @return [Array]
# File lib/inspec/utils/telemetry/collector.rb, line 47 def list_data_series @data_series end
load_config(config = Inspec::Config.cached)
click to toggle source
Allow loading a configuration, useful when testing.
# File lib/inspec/utils/telemetry/collector.rb, line 19 def load_config(config = Inspec::Config.cached) @config = config end
reset!()
click to toggle source
Blanks the contents of the data series collection. Reset telemetry toggle @return [True]
# File lib/inspec/utils/telemetry/collector.rb, line 69 def reset! @data_series = [] @telemetry_toggled_off = false end
telemetry_enabled?()
click to toggle source
The loaded configuration should have a option to configure telemetry, if not default to false. @return [True, False]
# File lib/inspec/utils/telemetry/collector.rb, line 32 def telemetry_enabled? if @telemetry_toggled_off false else config_telemetry_options.fetch("enable_telemetry", false) end end
Private Instance Methods
config_telemetry_options()
click to toggle source
Minimize exposure of Inspec::Config
interface
# File lib/inspec/utils/telemetry/collector.rb, line 77 def config_telemetry_options config.telemetry_options end