Module: Philiprehberger::Metric
- Defined in:
- lib/philiprehberger/metric.rb,
lib/philiprehberger/metric/gauge.rb,
lib/philiprehberger/metric/counter.rb,
lib/philiprehberger/metric/summary.rb,
lib/philiprehberger/metric/version.rb,
lib/philiprehberger/metric/registry.rb,
lib/philiprehberger/metric/histogram.rb
Defined Under Namespace
Classes: Counter, Error, Gauge, Histogram, Registry, Summary
Constant Summary collapse
- VERSION =
'0.4.0'
Class Method Summary collapse
-
.counter(name, help: '') ⇒ Counter
Register a counter metric on the default registry.
-
.default_registry ⇒ Registry
Return the default global registry.
-
.gauge(name, help: '') ⇒ Gauge
Register a gauge metric on the default registry.
-
.get(name) ⇒ Counter, ...
Get a registered metric from the default registry.
-
.histogram(name, help: '', buckets: Histogram::DEFAULT_BUCKETS) ⇒ Histogram
Register a histogram metric on the default registry.
-
.increment(name, labels: {}) ⇒ void
Increment a counter on the default registry.
-
.names ⇒ Array<String>
List the names of all metrics on the default registry.
-
.observe(name, value, labels: {}) ⇒ void
Observe a histogram value on the default registry.
-
.registered?(name) ⇒ Boolean
Check whether a metric is registered on the default registry.
-
.reset ⇒ void
Reset the default registry.
-
.set(name, value, labels: {}) ⇒ void
Set a gauge value on the default registry.
-
.snapshot(name) ⇒ Hash
Get a snapshot of a metric from the default registry.
-
.summary(name, help: '', quantiles: Summary::DEFAULT_QUANTILES) ⇒ Summary
Register a summary metric on the default registry.
-
.time(name, labels: {}, &block) ⇒ Object
Measure block execution time and record as a histogram observation.
-
.to_json(*args) ⇒ String
Export all metrics as JSON.
-
.to_prometheus ⇒ String
Export all metrics in Prometheus text exposition format.
-
.to_statsd ⇒ String
Export all metrics in StatsD line protocol format.
-
.unregister(name) ⇒ Counter, ...
Unregister a metric from the default registry.
Class Method Details
.counter(name, help: '') ⇒ Counter
Register a counter metric on the default registry.
24 25 26 |
# File 'lib/philiprehberger/metric.rb', line 24 def self.counter(name, help: '') default_registry.counter(name, help: help) end |
.default_registry ⇒ Registry
Return the default global registry.
13 14 15 16 17 |
# File 'lib/philiprehberger/metric.rb', line 13 def self.default_registry @registry_mutex.synchronize do @default_registry ||= Registry.new end end |
.gauge(name, help: '') ⇒ Gauge
Register a gauge metric on the default registry.
33 34 35 |
# File 'lib/philiprehberger/metric.rb', line 33 def self.gauge(name, help: '') default_registry.gauge(name, help: help) end |
.get(name) ⇒ Counter, ...
Get a registered metric from the default registry.
90 91 92 |
# File 'lib/philiprehberger/metric.rb', line 90 def self.get(name) default_registry.get(name) end |
.histogram(name, help: '', buckets: Histogram::DEFAULT_BUCKETS) ⇒ Histogram
Register a histogram metric on the default registry.
43 44 45 |
# File 'lib/philiprehberger/metric.rb', line 43 def self.histogram(name, help: '', buckets: Histogram::DEFAULT_BUCKETS) default_registry.histogram(name, help: help, buckets: buckets) end |
.increment(name, labels: {}) ⇒ void
This method returns an undefined value.
Increment a counter on the default registry.
62 63 64 |
# File 'lib/philiprehberger/metric.rb', line 62 def self.increment(name, labels: {}) default_registry.increment(name, labels: labels) end |
.names ⇒ Array<String>
List the names of all metrics on the default registry.
135 136 137 |
# File 'lib/philiprehberger/metric.rb', line 135 def self.names default_registry.names end |
.observe(name, value, labels: {}) ⇒ void
This method returns an undefined value.
Observe a histogram value on the default registry.
82 83 84 |
# File 'lib/philiprehberger/metric.rb', line 82 def self.observe(name, value, labels: {}) default_registry.observe(name, value, labels: labels) end |
.registered?(name) ⇒ Boolean
Check whether a metric is registered on the default registry.
143 144 145 |
# File 'lib/philiprehberger/metric.rb', line 143 def self.registered?(name) default_registry.registered?(name) end |
.reset ⇒ void
This method returns an undefined value.
Reset the default registry.
158 159 160 161 162 163 |
# File 'lib/philiprehberger/metric.rb', line 158 def self.reset @registry_mutex.synchronize do @default_registry&.reset @default_registry = nil end end |
.set(name, value, labels: {}) ⇒ void
This method returns an undefined value.
Set a gauge value on the default registry.
72 73 74 |
# File 'lib/philiprehberger/metric.rb', line 72 def self.set(name, value, labels: {}) default_registry.set(name, value, labels: labels) end |
.snapshot(name) ⇒ Hash
Get a snapshot of a metric from the default registry.
98 99 100 |
# File 'lib/philiprehberger/metric.rb', line 98 def self.snapshot(name) default_registry.snapshot(name) end |
.summary(name, help: '', quantiles: Summary::DEFAULT_QUANTILES) ⇒ Summary
Register a summary metric on the default registry.
53 54 55 |
# File 'lib/philiprehberger/metric.rb', line 53 def self.summary(name, help: '', quantiles: Summary::DEFAULT_QUANTILES) default_registry.summary(name, help: help, quantiles: quantiles) end |
.time(name, labels: {}, &block) ⇒ Object
Measure block execution time and record as a histogram observation.
107 108 109 |
# File 'lib/philiprehberger/metric.rb', line 107 def self.time(name, labels: {}, &block) default_registry.time(name, labels: labels, &block) end |
.to_json(*args) ⇒ String
Export all metrics as JSON.
121 122 123 |
# File 'lib/philiprehberger/metric.rb', line 121 def self.to_json(*args) default_registry.to_json(*args) end |
.to_prometheus ⇒ String
Export all metrics in Prometheus text exposition format.
114 115 116 |
# File 'lib/philiprehberger/metric.rb', line 114 def self.to_prometheus default_registry.to_prometheus end |
.to_statsd ⇒ String
Export all metrics in StatsD line protocol format.
128 129 130 |
# File 'lib/philiprehberger/metric.rb', line 128 def self.to_statsd default_registry.to_statsd end |
.unregister(name) ⇒ Counter, ...
Unregister a metric from the default registry.
151 152 153 |
# File 'lib/philiprehberger/metric.rb', line 151 def self.unregister(name) default_registry.unregister(name) end |