Sha256: 05a65ce6a1c9494f0fef862d58bb12c0af7f5efa8aa2fb3339d163dc930df934
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true require "prometheus_aggregator/exporter" module PrometheusAggregator class Client DEFAULT_BUCKETS = [0.01, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10].freeze def initialize(host, port, opts = {}) @default_labels = opts.delete(:default_labels) || {} @exporter = Exporter.new(host, port, opts) end def counter(name:, value:, help:, labels: {}) @exporter.enqueue( type: "counter", name: name, value: value, help: help, labels: @default_labels.dup.merge(labels) ) end def gauge(name:, value:, help:, labels: {}) @exporter.enqueue( type: "gauge", name: name, value: value, help: help, labels: @default_labels.dup.merge(labels) ) end def histogram(name:, value:, help:, buckets: DEFAULT_BUCKETS, labels: {}) @exporter.enqueue( type: "histogram", name: name, value: value, help: help, buckets: buckets, labels: @default_labels.dup.merge(labels) ) end def stop @exporter.stop end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prometheus_aggregator-1.0.0 | lib/prometheus_aggregator/client.rb |