مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-11-30 21:32:30 +00:00
36 أسطر
771 B
Ruby
36 أسطر
771 B
Ruby
# frozen_string_literal: true
|
|
|
|
module HasPrometheusMetrics
|
|
|
|
def register_prometheus_counter(name, **kwargs)
|
|
counter = Prometheus::Client::Counter.new(name, **kwargs)
|
|
registry.register(counter)
|
|
end
|
|
|
|
def register_prometheus_histogram(name, **kwargs)
|
|
histogram = Prometheus::Client::Histogram.new(name, **kwargs)
|
|
registry.register(histogram)
|
|
end
|
|
|
|
def increment_prometheus_counter(name, labels: {})
|
|
counter = registry.get(name)
|
|
return if counter.nil?
|
|
|
|
counter.increment(labels: labels)
|
|
end
|
|
|
|
def observe_prometheus_histogram(name, time, labels: {})
|
|
histogram = registry.get(name)
|
|
return if histogram.nil?
|
|
|
|
histogram.observe(time, labels: labels)
|
|
end
|
|
|
|
private
|
|
|
|
def registry
|
|
Prometheus::Client.registry
|
|
end
|
|
|
|
end
|