Class: LogStash::Outputs::Application_insights::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/logstash/outputs/application_insights/context.rb

Direct Known Subclasses

Blob

Instance Method Summary collapse

Constructor Details

#initialize(tuple) ⇒ Context

Returns a new instance of Context.



25
26
27
28
29
30
31
# File 'lib/logstash/outputs/application_insights/context.rb', line 25

def initialize ( tuple )
  if tuple
    tuple_to_context( tuple )
  else
    clear_context
  end
end

Instance Method Details

#clear_contextObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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_entityObject



87
88
89
90
91
92
93
94
# 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_tupleObject



68
69
70
71
72
73
74
75
76
# 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) ⇒ Object



63
64
65
# 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 = {}) ⇒ Object



53
54
55
56
57
58
59
60
61
# 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) ⇒ Object



78
79
80
81
82
83
84
85
# 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