class NetuitiveRubyApi::DataCache

Public Class Methods

new() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 3
def initialize
  @sample_count_mutex = Mutex.new
  @event_count_mutex = Mutex.new
  reset_samples
  reset_events
end

Public Instance Methods

add_aggregate_counter_metric(value) click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 39
def add_aggregate_counter_metric(value)
  @sample_count_mutex.synchronize do
    @aggregate_counter_metrics.push(value)
    sample_added
  end
end
add_aggregate_metric(value) click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 32
def add_aggregate_metric(value)
  @sample_count_mutex.synchronize do
    @aggregate_metrics.push(value)
    sample_added
  end
end
add_counter_sample(value) click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 25
def add_counter_sample(value)
  @sample_count_mutex.synchronize do
    @counter_samples.push(value)
    sample_added
  end
end
add_event(value) click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 46
def add_event(value)
  @event_count_mutex.synchronize do
    @events.push(value)
    event_added
  end
end
add_exception_event(value) click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 53
def add_exception_event(value)
  @event_count_mutex.synchronize do
    @exception_events.push(value)
    event_added
  end
end
add_sample(value) click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 18
def add_sample(value)
  @sample_count_mutex.synchronize do
    @samples.push(value)
    sample_added
  end
end
clear_event_cache() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 76
def clear_event_cache
  NetuitiveRubyApi::ErrorLogger.guard('error during clear_event_cache') do
    @event_count_mutex.synchronize do
      NetuitiveRubyApi::NetuitiveLogger.log.debug 'clearing event cache'
      ret = {
        events: @events.dup,
        exception_events: @exception_events.dup
      }
      reset_events
      ret
    end
  end
end
clear_sample_cache() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 60
def clear_sample_cache
  NetuitiveRubyApi::ErrorLogger.guard('error during clear_sample_cache') do
    @sample_count_mutex.synchronize do
      NetuitiveRubyApi::NetuitiveLogger.log.debug 'clearing sample cache'
      ret = {
        samples: @samples.dup,
        counter_samples: @counter_samples.dup,
        aggregate_metrics: @aggregate_metrics.dup,
        aggregate_counter_metrics: @aggregate_counter_metrics.dup
      }
      reset_samples
      ret
    end
  end
end
event_added() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 14
def event_added
  @event_count += 1
end
reset_events() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 98
def reset_events
  @events = []
  @exception_events = []
  @event_count = 0
end
reset_samples() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 90
def reset_samples
  @samples = []
  @counter_samples = []
  @aggregate_metrics = []
  @aggregate_counter_metrics = []
  @sample_count = 0
end
sample_added() click to toggle source
# File lib/netuitive_ruby_api/data_cache.rb, line 10
def sample_added
  @sample_count += 1
end