class LogStash::Outputs::Application_insights::Context

Public Class Methods

new( tuple ) click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 25
def initialize ( tuple )
  if tuple
    tuple_to_context( tuple )
  else
    clear_context
  end
end

Public Instance Methods

clear_context() click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 33
def clear_context
  @start_time = Time.now.utc
  @action = nil
  @instrumentation_key = nil
  @table_id = nil
  @storage_account_name = nil
  @container_name = nil
  @blob_name = nil
  @uploaded_block_ids = [  ]
  @uploaded_block_numbers = [  ]
  @uploaded_events_count = 0
  @uploaded_bytesize = 0
  @oldest_event_time = nil
  @event_format = nil
  @blob_max_delay = nil
  @log_state = nil
  @sub_state = :none
  @file_size = 0
end
context_to_table_entity() click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 87
def context_to_table_entity
  { :start_time => @start_time, :instrumentation_key => @instrumentation_key, :table_id => @table_id,
    :storage_account_name => @storage_account_name, :container_name => @container_name, :blob_name => @blob_name,
    :uploaded_block_ids => @uploaded_block_ids.to_s, :uploaded_block_numbers => @uploaded_block_numbers.to_s,
    :uploaded_events_count => @uploaded_events_count, :uploaded_bytesize => @uploaded_bytesize, :oldest_event_time => @oldest_event_time,
    :log_state => @log_state, :sub_state => @sub_state, :file_size => @file_size
  }
end
context_to_tuple() click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 68
def context_to_tuple
  [ @start_time || Time.now.utc, @action, @instrumentation_key, @table_id,
    @storage_account_name, @container_name, @blob_name,
    @uploaded_block_ids, @uploaded_block_numbers,
    @uploaded_events_count, @uploaded_bytesize, @oldest_event_time,
    @event_format, @blob_max_delay,
    @log_state, @sub_state, @file_size
  ]
end
table_entity_to_context( table_entity ) click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 63
def table_entity_to_context ( table_entity )
  tuple_to_context( table_entity_to_tuple( table_entity ) )
end
table_entity_to_tuple( options = {} ) click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 53
def table_entity_to_tuple( options = {} )
  [ options[:start_time.to_s] || Time.now.utc, options[:action.to_s], options[:instrumentation_key.to_s], options[:table_id.to_s],
    options[:storage_account_name.to_s], options[:container_name.to_s], options[:blob_name.to_s],
    eval( options[:uploaded_block_ids.to_s] ), eval( options[:uploaded_block_numbers.to_s] ),
    options[:uploaded_events_count.to_s] || 0, options[:uploaded_bytesize.to_s] || 0, options[:oldest_event_time.to_s] || Time.now.utc,
    options[:event_format.to_s], options[:blob_max_delay.to_s] || 0,
    options[:log_state.to_s].to_sym, (options[:sub_state.to_s] || :none).to_sym, options[:file_size.to_s] || 0
  ]
end
tuple_to_context( tuple ) click to toggle source
# File lib/logstash/outputs/application_insights/context.rb, line 78
def tuple_to_context ( tuple )
  ( @start_time, @action, @instrumentation_key, @table_id,
    @storage_account_name, @container_name, @blob_name,
    @uploaded_block_ids, @uploaded_block_numbers,
    @uploaded_events_count, @uploaded_bytesize, @oldest_event_time,
    @event_format, @blob_max_delay,
    @log_state, @sub_state, @file_size ) = tuple
end