Class: Inspec::Telemetry::Collector
- Inherits:
 - 
      Object
      
        
- Object
 - Inspec::Telemetry::Collector
 
 
- Includes:
 - Singleton
 
- Defined in:
 - lib/inspec/utils/telemetry/collector.rb
 
Overview
A Singleton collection of data series objects.
Instance Attribute Summary collapse
- 
  
    
      #config  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute config.
 
Instance Method Summary collapse
- 
  
    
      #add_data_series(data_series)  ⇒ True 
    
    
  
  
  
  
  
  
  
  
  
    
Add a data series to the collection.
 - 
  
    
      #disable_telemetry  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
A way to disable the telemetry system.
 - 
  
    
      #find_or_create_data_series(name)  ⇒ Inspec::Telemetry::DataSeries 
    
    
  
  
  
  
  
  
  
  
  
    
Finds the data series object with the specified name and returns it.
 - 
  
    
      #initialize  ⇒ Collector 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Collector.
 - 
  
    
      #list_data_series  ⇒ Array 
    
    
  
  
  
  
  
  
  
  
  
    
The entire data series collection.
 - 
  
    
      #load_config(config = Inspec::Config.cached)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Allow loading a configuration, useful when testing.
 - 
  
    
      #reset!  ⇒ True 
    
    
  
  
  
  
  
  
  
  
  
    
Blanks the contents of the data series collection.
 - 
  
    
      #telemetry_enabled?  ⇒ True, False 
    
    
  
  
  
  
  
  
  
  
  
    
The loaded configuration should have a option to configure telemetry, if not default to false.
 
Constructor Details
#initialize ⇒ Collector
Returns a new instance of Collector.
      12 13 14 15 16  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 12 def initialize @data_series = [] @telemetry_toggled_off = false load_config end  | 
  
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
      10 11 12  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 10 def config @config end  | 
  
Instance Method Details
#add_data_series(data_series) ⇒ True
Add a data series to the collection.
      25 26 27  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 25 def add_data_series(data_series) @data_series << data_series end  | 
  
#disable_telemetry ⇒ Object
A way to disable the telemetry system.
      41 42 43  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 41 def disable_telemetry @telemetry_toggled_off = true end  | 
  
#find_or_create_data_series(name) ⇒ Inspec::Telemetry::DataSeries
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.
      55 56 57 58 59 60 61 62 63 64  | 
    
      # 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 ⇒ Array
The entire data series collection.
      47 48 49  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 47 def list_data_series @data_series end  | 
  
#load_config(config = Inspec::Config.cached) ⇒ Object
Allow loading a configuration, useful when testing.
      19 20 21  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 19 def load_config(config = Inspec::Config.cached) @config = config end  | 
  
#reset! ⇒ True
Blanks the contents of the data series collection. Reset telemetry toggle
      69 70 71 72  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 69 def reset! @data_series = [] @telemetry_toggled_off = false end  | 
  
#telemetry_enabled? ⇒ True, False
The loaded configuration should have a option to configure telemetry, if not default to false.
      32 33 34 35 36 37 38  | 
    
      # File 'lib/inspec/utils/telemetry/collector.rb', line 32 def telemetry_enabled? if @telemetry_toggled_off false else .fetch("enable_telemetry", false) end end  |