Class: LogStash::Outputs::SumoLogic::Statistics

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/logstash/outputs/sumologic/statistics.rb

Constant Summary

Constants included from Common

Common::CARBON2, Common::CATEGORY_HEADER, Common::CATEGORY_HEADER_DEFAULT, Common::CLIENT_HEADER, Common::CLIENT_HEADER_VALUE, Common::CONTENT_ENCODING, Common::CONTENT_TYPE, Common::CONTENT_TYPE_CARBON2, Common::CONTENT_TYPE_GRAPHITE, Common::CONTENT_TYPE_LOG, Common::DEFAULT_LOG_FORMAT, Common::DEFLATE, Common::GRAPHITE, Common::GZIP, Common::HOST_HEADER, Common::LOG_TO_CONSOLE, Common::METRICS_NAME_PLACEHOLDER, Common::NAME_HEADER, Common::NAME_HEADER_DEFAULT, Common::STATS_TAG, Common::STOP_TAG

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Common

#log_dbg, #log_err, #log_info, #log_warn, #set_logger

Constructor Details

#initializeStatistics

Returns a new instance of Statistics.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 25

def initialize()
  @initialize_time = Time.now()
  @total_input_events = Concurrent::AtomicFixnum.new
  @total_input_bytes = Concurrent::AtomicFixnum.new
  @total_metrics_datapoints = Concurrent::AtomicFixnum.new
  @total_log_lines = Concurrent::AtomicFixnum.new
  @total_enque_times = Concurrent::AtomicFixnum.new
  @total_enque_bytes = Concurrent::AtomicFixnum.new
  @total_deque_times = Concurrent::AtomicFixnum.new
  @total_deque_bytes = Concurrent::AtomicFixnum.new
  @total_output_requests = Concurrent::AtomicFixnum.new
  @total_output_bytes = Concurrent::AtomicFixnum.new
  @total_output_bytes_compressed = Concurrent::AtomicFixnum.new
  @total_response = Concurrent::Map.new
  @total_response_times = Concurrent::AtomicFixnum.new
  @total_response_success = Concurrent::AtomicFixnum.new
  
end

Instance Attribute Details

#initialize_timeObject (readonly)

Returns the value of attribute initialize_time.



9
10
11
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 9

def initialize_time
  @initialize_time
end

#total_deque_bytesObject (readonly)

Returns the value of attribute total_deque_bytes.



17
18
19
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 17

def total_deque_bytes
  @total_deque_bytes
end

#total_deque_timesObject (readonly)

Returns the value of attribute total_deque_times.



16
17
18
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 16

def total_deque_times
  @total_deque_times
end

#total_enque_bytesObject (readonly)

Returns the value of attribute total_enque_bytes.



15
16
17
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 15

def total_enque_bytes
  @total_enque_bytes
end

#total_enque_timesObject (readonly)

Returns the value of attribute total_enque_times.



14
15
16
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 14

def total_enque_times
  @total_enque_times
end

#total_input_bytesObject (readonly)

Returns the value of attribute total_input_bytes.



11
12
13
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 11

def total_input_bytes
  @total_input_bytes
end

#total_input_eventsObject (readonly)

Returns the value of attribute total_input_events.



10
11
12
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 10

def total_input_events
  @total_input_events
end

#total_log_linesObject (readonly)

Returns the value of attribute total_log_lines.



13
14
15
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 13

def total_log_lines
  @total_log_lines
end

#total_metrics_datapointsObject (readonly)

Returns the value of attribute total_metrics_datapoints.



12
13
14
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 12

def total_metrics_datapoints
  @total_metrics_datapoints
end

#total_output_bytesObject (readonly)

Returns the value of attribute total_output_bytes.



19
20
21
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 19

def total_output_bytes
  @total_output_bytes
end

#total_output_bytes_compressedObject (readonly)

Returns the value of attribute total_output_bytes_compressed.



20
21
22
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 20

def total_output_bytes_compressed
  @total_output_bytes_compressed
end

#total_output_requestsObject (readonly)

Returns the value of attribute total_output_requests.



18
19
20
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 18

def total_output_requests
  @total_output_requests
end

#total_response(key) ⇒ Object (readonly)

def initialize



44
45
46
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 44

def total_response
  @total_response
end

#total_response_successObject (readonly)

Returns the value of attribute total_response_success.



23
24
25
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 23

def total_response_success
  @total_response_success
end

#total_response_timesObject (readonly)

Returns the value of attribute total_response_times.



22
23
24
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 22

def total_response_times
  @total_response_times
end

Instance Method Details

#atomic_map_increase(map, key) ⇒ Object

def record_response_failure



87
88
89
90
91
92
93
94
95
96
97
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 87

def atomic_map_increase(map, key)
  number = map.get(key)
  if number.nil?
    newNumber = Concurrent::AtomicFixnum.new
    number = map.put_if_absent(key, newNumber)
    if number.nil?
      number = newNumber
    end
  end
  number.increment()
end

#record_deque(size) ⇒ Object

def record_enque



66
67
68
69
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 66

def record_deque(size)
  @total_deque_times.increment()
  @total_deque_bytes.update { |v| v + size }
end

#record_enque(size) ⇒ Object

def record_metrics_process



61
62
63
64
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 61

def record_enque(size)
  @total_enque_times.increment()
  @total_enque_bytes.update { |v| v + size }
end

#record_input(size) ⇒ Object



48
49
50
51
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 48

def record_input(size)
  @total_input_events.increment()
  @total_input_bytes.update { |v| v + size }
end

#record_log_processObject

def record_input



53
54
55
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 53

def record_log_process()
  @total_log_lines.increment()
end

#record_metrics_process(dps) ⇒ Object

def record_log_process



57
58
59
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 57

def record_metrics_process(dps)
  @total_metrics_datapoints.update { |v| v + dps }
end

#record_request(size, size_compressed) ⇒ Object

def record_deque



71
72
73
74
75
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 71

def record_request(size, size_compressed)
  @total_output_requests.increment()
  @total_output_bytes.update { |v| v + size }
  @total_output_bytes_compressed.update { |v| v + size_compressed }
end

#record_response_failureObject

def record_response_success



83
84
85
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 83

def record_response_failure()
  atomic_map_increase(@total_response, "failure")
end

#record_response_success(code) ⇒ Object

def record_request



77
78
79
80
81
# File 'lib/logstash/outputs/sumologic/statistics.rb', line 77

def record_response_success(code)
  atomic_map_increase(@total_response, code.to_s)
  @total_response_success.increment() if code == 200
  @total_response_times.increment()
end