class Inspec::Telemetry::Collector

A Singleton collection of data series objects.

def add_data_series(data_series)

Returns:
  • (True) -
def add_data_series(data_series)
  @data_series << data_series
end

def config_telemetry_options

Minimize exposure of Inspec::Config interface
def config_telemetry_options
  config.telemetry_options
end

def disable_telemetry

A way to disable the telemetry system.
def disable_telemetry
  @telemetry_toggled_off = true
end

def find_or_create_data_series(name)

Returns:
  • (Inspec::Telemetry::DataSeries) -
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

def initialize

def initialize
  @data_series = []
  @telemetry_toggled_off = false
  load_config
end

def list_data_series

Returns:
  • (Array) -
def list_data_series
  @data_series
end

def load_config(config = Inspec::Config.cached)

Allow loading a configuration, useful when testing.
def load_config(config = Inspec::Config.cached)
  @config = config
end

def reset!

Returns:
  • (True) -
def reset!
  @data_series = []
  @telemetry_toggled_off = false
end

def telemetry_enabled?

Returns:
  • (True, False) -
def telemetry_enabled?
  if @telemetry_toggled_off
    false
  else
    config_telemetry_options.fetch("enable_telemetry", false)
  end
end