Sha256: d832874bc6c7f40eb8a468ac9dc56c7c4077c3e696cd7066fd726c912989f586
Contents?: true
Size: 1.22 KB
Versions: 13
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true require "prometheus/client" require_relative "metric_method_name" Prometheus::Client::Metric.include(ServiceSkeleton::MetricMethodName) module ServiceSkeleton module MetricsMethods def registered_metrics @registered_metrics || [] end def metric(metric) @registered_metrics ||= [] @registered_metrics << metric end def counter(name, docstring:, labels: [], preset_labels: {}) metric(Prometheus::Client::Counter.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels)) end def gauge(name, docstring:, labels: [], preset_labels: {}) metric(Prometheus::Client::Gauge.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels)) end def summary(name, docstring:, labels: [], preset_labels: {}) metric(Prometheus::Client::Summary.new(name, docstring: docstring, labels: labels, preset_labels: preset_labels)) end 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 end end
Version data entries
13 entries across 13 versions & 1 rubygems