Class: PrometheusMetrics

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/fluent/metrics/prometheusMetrics.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePrometheusMetrics

Returns a new instance of PrometheusMetrics.



11
12
13
14
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 11

def initialize
  createMetrics
  registerMetrics
end

Instance Attribute Details

#bytes_postedObject

Returns the value of attribute bytes_posted.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def bytes_posted
  @bytes_posted
end

#bytes_receivedObject

Returns the value of attribute bytes_received.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def bytes_received
  @bytes_received
end

#chunk_upload_time_takenObject

Returns the value of attribute chunk_upload_time_taken.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def chunk_upload_time_taken
  @chunk_upload_time_taken
end

#latency_avgObject

Returns the value of attribute latency_avg.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def latency_avg
  @latency_avg
end

#records_droppedObject

Returns the value of attribute records_dropped.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def records_dropped
  @records_dropped
end

#records_errorObject

Returns the value of attribute records_error.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def records_error
  @records_error
end

#records_postedObject

Returns the value of attribute records_posted.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def records_posted
  @records_posted
end

#records_receivedObject

Returns the value of attribute records_received.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def records_received
  @records_received
end

#records_validObject

Returns the value of attribute records_valid.



9
10
11
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 9

def records_valid
  @records_valid
end

Instance Method Details

#createMetricsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 15

def createMetrics
  gauge = Prometheus::Client::Gauge
  @records_received = gauge.new(:oci_logging_analytics_records_received, docstring: '...', labels: [:tag,:logGroupId,:logSourceName,:logSet])
  @records_valid = gauge.new(:oci_logging_analytics_records_valid, docstring: '...', labels: [:tag,:logGroupId,:logSourceName,:logSet])
  @records_dropped = gauge.new(:oci_logging_analytics_records_dropped, docstring: '...', labels: [:tag,:logGroupId,:logSourceName,:logSet,:drop_reason])
  @records_error = gauge.new(:oci_logging_analytics_records_error, docstring: '...', labels: [:tag,:logGroupId,:logSourceName,:logSet,:error_code, :error_reason])
  @records_posted = gauge.new(:oci_logging_analytics_records_posted, docstring: '...', labels: [:tag,:logGroupId,:logSourceName,:logSet])
  @bytes_received = gauge.new(:oci_logging_analytics_bytes_received, docstring: '...', labels: [:tag])
  @bytes_posted = gauge.new(:oci_logging_analytics_bytes_posted, docstring: '...', labels: [:logGroupId])
  histogram = Prometheus::Client::Histogram
  @latency_avg = histogram.new(:oci_logging_analytics_network_latency_avg, docstring: '...', labels: [:tag])
  @chunk_upload_time_taken = histogram.new(:oci_logging_analytics_chunk_upload_time_taken, docstring: '...', labels: [:logGroupId])
end

#registerMetricsObject



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/fluent/metrics/prometheusMetrics.rb', line 29

def registerMetrics
  registry = Prometheus::Client.registry
  registry.register(@records_received) unless registry.exist?('oci_logging_analytics_records_received')
  registry.register(@records_valid) unless registry.exist?('oci_logging_analytics_records_valid')
  registry.register(@records_dropped) unless registry.exist?('oci_logging_analytics_records_dropped')
  registry.register(@records_error) unless registry.exist?('oci_logging_analytics_records_error')
  registry.register(@records_posted) unless registry.exist?('oci_logging_analytics_records_posted')
  registry.register(@bytes_received) unless registry.exist?('oci_logging_analytics_bytes_received')
  registry.register(@bytes_posted) unless registry.exist?('oci_logging_analytics_bytes_valid')
  registry.register(@latency_avg) unless registry.exist?('oci_logging_analytics_network_latency_avg')
  registry.register(@chunk_upload_time_taken) unless registry.exist?('oci_logging_analytics_chunk_upload_time_taken')
end