Class: Fluent::Plugin::Prometheus::Gauge
- Defined in:
- lib/fluent/plugin/prometheus.rb
Instance Attribute Summary
Attributes inherited from Metric
Instance Method Summary collapse
-
#initialize(element, registry, labels) ⇒ Gauge
constructor
A new instance of Gauge.
- #instrument(record, expander) ⇒ Object
Methods inherited from Metric
Constructor Details
#initialize(element, registry, labels) ⇒ Gauge
Returns a new instance of Gauge.
184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'lib/fluent/plugin/prometheus.rb', line 184 def initialize(element, registry, labels) super if @key.nil? raise ConfigError, "gauge metric requires 'key' option" end begin @gauge = registry.gauge(element['name'].to_sym, element['desc']) rescue ::Prometheus::Client::Registry::AlreadyRegisteredError @gauge = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :gauge, element['desc']) end end |
Instance Method Details
#instrument(record, expander) ⇒ Object
197 198 199 200 201 202 203 204 205 206 |
# File 'lib/fluent/plugin/prometheus.rb', line 197 def instrument(record, ) if @key.is_a?(String) value = record[@key] else value = @key.call(record) end if value @gauge.set(labels(record, ), value) end end |