Sha256: ed335ccfc6a90a4928b68f7a47c82e9f688218e58636194578f15b79f36ec1dc
Contents?: true
Size: 650 Bytes
Versions: 21
Compression:
Stored size: 650 Bytes
Contents
# frozen_string_literal: true class MyCustomCollector < PrometheusExporter::Server::Collector def initialize @gauge1 = PrometheusExporter::Metric::Gauge.new("thing1", "I am thing 1") @gauge2 = PrometheusExporter::Metric::Gauge.new("thing2", "I am thing 2") @mutex = Mutex.new end def process(obj) @mutex.synchronize do if thing1 = obj["thing1"] @gauge1.observe(thing1) end if thing2 = obj["thing2"] @gauge2.observe(thing2) end end end def prometheus_metrics_text @mutex.synchronize do "#{@gauge1.to_prometheus_text}\n#{@gauge2.to_prometheus_text}" end end end
Version data entries
21 entries across 21 versions & 1 rubygems
Version | Path |
---|---|
prometheus_exporter-0.4.11 | examples/custom_collector.rb |