class Yabeda::Prometheus::Mmap::Adapter
Prometheus
metrics collecion adapter
Public Instance Methods
build_name(metric)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 62 def build_name(metric) [metric.group, metric.name, metric.unit].compact.join('_').to_sym end
debug!()
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 78 def debug! Yabeda.configure do group :yabeda_prometheus_mmap histogram :render_duration, tags: %i[], unit: :seconds, buckets: [0.001, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10], comment: 'Time required to render all metrics in Prometheus format' end end
perform_counter_increment!(metric, tags, value)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 28 def perform_counter_increment!(metric, tags, value) registry.get(build_name(metric)).increment(tags, value) end
perform_gauge_set!(metric, tags, value)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 42 def perform_gauge_set!(metric, tags, value) registry.get(build_name(metric)).set(tags, value) end
perform_histogram_measure!(metric, tags, value)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 58 def perform_histogram_measure!(metric, tags, value) registry.get(build_name(metric)).observe(tags, value) end
register_counter!(metric)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 18 def register_counter!(metric) validate_metric!(metric) registry.counter( build_name(metric), metric.comment, build_tags(metric.tags) ) end
register_gauge!(metric)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 32 def register_gauge!(metric) validate_metric!(metric) registry.gauge( build_name(metric), metric.comment, build_tags(metric.tags) ) end
register_histogram!(metric)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 46 def register_histogram!(metric) buckets = metric.buckets || ::Prometheus::Client::Histogram::DEFAULT_BUCKETS registry.histogram( build_name(metric), metric.comment, build_tags(metric.tags), buckets ) end
registry()
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 14 def registry @registry ||= ::Yabeda::Prometheus::Mmap.registry end
validate_metric!(metric)
click to toggle source
# File lib/yabeda/prometheus/mmap/adapter.rb, line 72 def validate_metric!(metric) return if metric.comment raise ArgumentError, 'Prometheus require metrics to have comments' end