Class: PrometheusExporter::Client::RemoteMetric

Inherits:
Object
  • Object
show all
Defined in:
lib/prometheus_exporter/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, help:, type:, client:, opts: nil) ⇒ RemoteMetric

Returns a new instance of RemoteMetric.



11
12
13
14
15
16
17
# File 'lib/prometheus_exporter/client.rb', line 11

def initialize(name:, help:, type:, client:, opts: nil)
  @name = name
  @help = help
  @client = client
  @type = type
  @opts = opts
end

Instance Attribute Details

#helpObject (readonly)

Returns the value of attribute help.



9
10
11
# File 'lib/prometheus_exporter/client.rb', line 9

def help
  @help
end

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/prometheus_exporter/client.rb', line 9

def name
  @name
end

#typeObject (readonly)

Returns the value of attribute type.



9
10
11
# File 'lib/prometheus_exporter/client.rb', line 9

def type
  @type
end

Instance Method Details

#decrement(keys = nil, value = 1) ⇒ Object



40
41
42
# File 'lib/prometheus_exporter/client.rb', line 40

def decrement(keys = nil, value = 1)
  @client.send_json(standard_values(value, keys, :decrement))
end

#increment(keys = nil, value = 1) ⇒ Object



36
37
38
# File 'lib/prometheus_exporter/client.rb', line 36

def increment(keys = nil, value = 1)
  @client.send_json(standard_values(value, keys, :increment))
end

#observe(value = 1, keys = nil) ⇒ Object



32
33
34
# File 'lib/prometheus_exporter/client.rb', line 32

def observe(value = 1, keys = nil)
  @client.send_json(standard_values(value, keys))
end

#standard_values(value, keys, prometheus_exporter_action = nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/prometheus_exporter/client.rb', line 19

def standard_values(value, keys, prometheus_exporter_action = nil)
  values = {
    type: @type,
    help: @help,
    name: @name,
    keys: keys,
    value: value
  }
  values[:prometheus_exporter_action] = prometheus_exporter_action if prometheus_exporter_action
  values[:opts] = @opts if @opts
  values
end