Module: ServiceSkeleton::MetricsMethods
- Defined in:
- lib/service_skeleton/metrics_methods.rb
Instance Method Summary collapse
- #counter(name, docstring:, labels: [], preset_labels: {}) ⇒ Object
- #gauge(name, docstring:, labels: [], preset_labels: {}) ⇒ Object
- #histogram(name, docstring:, labels: [], preset_labels: {}, buckets: Prometheus::Client::Histogram::DEFAULT_BUCKETS) ⇒ Object
- #metric(metric) ⇒ Object
- #registered_metrics ⇒ Object
- #summary(name, docstring:, labels: [], preset_labels: {}) ⇒ Object
Instance Method Details
#counter(name, docstring:, labels: [], preset_labels: {}) ⇒ Object
21 22 23 |
# File 'lib/service_skeleton/metrics_methods.rb', line 21 def counter(name, docstring:, labels: [], preset_labels: {}) metric(Prometheus::Client::Counter.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels)) end |
#gauge(name, docstring:, labels: [], preset_labels: {}) ⇒ Object
25 26 27 |
# File 'lib/service_skeleton/metrics_methods.rb', line 25 def gauge(name, docstring:, labels: [], preset_labels: {}) metric(Prometheus::Client::Gauge.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels)) end |
#histogram(name, docstring:, labels: [], preset_labels: {}, buckets: Prometheus::Client::Histogram::DEFAULT_BUCKETS) ⇒ Object
33 34 35 |
# File 'lib/service_skeleton/metrics_methods.rb', line 33 def histogram(name, docstring:, labels: [], preset_labels: {}, buckets: Prometheus::Client::Histogram::DEFAULT_BUCKETS) metric(Prometheus::Client::Histogram.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels, buckets: buckets)) end |
#metric(metric) ⇒ Object
15 16 17 18 19 |
# File 'lib/service_skeleton/metrics_methods.rb', line 15 def metric(metric) @registered_metrics ||= [] @registered_metrics << metric end |
#registered_metrics ⇒ Object
11 12 13 |
# File 'lib/service_skeleton/metrics_methods.rb', line 11 def registered_metrics @registered_metrics || [] end |
#summary(name, docstring:, labels: [], preset_labels: {}) ⇒ Object
29 30 31 |
# File 'lib/service_skeleton/metrics_methods.rb', line 29 def summary(name, docstring:, labels: [], preset_labels: {}) metric(Prometheus::Client::Summary.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels)) end |