Class: Prometheus::Client::Registry
- Inherits:
-
Object
- Object
- Prometheus::Client::Registry
show all
- Defined in:
- lib/prometheus/client/registry.rb
Overview
Defined Under Namespace
Classes: AlreadyRegisteredError
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Registry.
15
16
17
18
|
# File 'lib/prometheus/client/registry.rb', line 15
def initialize
@metrics = {}
@mutex = Mutex.new
end
|
Instance Method Details
#counter(name, docstring, base_labels = {}) ⇒ Object
34
35
36
|
# File 'lib/prometheus/client/registry.rb', line 34
def counter(name, docstring, base_labels = {})
register(Counter.new(name, docstring, base_labels))
end
|
#exist?(name) ⇒ Boolean
46
47
48
|
# File 'lib/prometheus/client/registry.rb', line 46
def exist?(name)
@metrics.key?(name)
end
|
#gauge(name, docstring, base_labels = {}) ⇒ Object
42
43
44
|
# File 'lib/prometheus/client/registry.rb', line 42
def gauge(name, docstring, base_labels = {})
register(Gauge.new(name, docstring, base_labels))
end
|
#get(name) ⇒ Object
50
51
52
|
# File 'lib/prometheus/client/registry.rb', line 50
def get(name)
@metrics[name.to_sym]
end
|
#metrics ⇒ Object
54
55
56
|
# File 'lib/prometheus/client/registry.rb', line 54
def metrics
@metrics.values
end
|
#register(metric) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/prometheus/client/registry.rb', line 20
def register(metric)
name = metric.name
@mutex.synchronize do
if exist?(name.to_sym)
fail AlreadyRegisteredError, "#{name} has already been registered"
else
@metrics[name.to_sym] = metric
end
end
metric
end
|
#summary(name, docstring, base_labels = {}) ⇒ Object
38
39
40
|
# File 'lib/prometheus/client/registry.rb', line 38
def summary(name, docstring, base_labels = {})
register(Summary.new(name, docstring, base_labels))
end
|