Class: Fluent::Plugin::Prometheus::Counter
- Defined in:
- lib/fluent/plugin/prometheus.rb
Instance Attribute Summary
Attributes inherited from Metric
#desc, #key, #name, #retention, #retention_check_interval, #type
Instance Method Summary collapse
-
#initialize(element, registry, labels) ⇒ Counter
constructor
A new instance of Counter.
- #set_value(value, labels) ⇒ Object
- #set_value?(value) ⇒ Boolean
- #value(record) ⇒ Object
Methods inherited from Metric
get, #has_retention?, #instrument, #labels, #remove_expired_metrics
Constructor Details
#initialize(element, registry, labels) ⇒ Counter
Returns a new instance of Counter.
323 324 325 326 327 328 329 330 331 332 333 334 335 |
# File 'lib/fluent/plugin/prometheus.rb', line 323 def initialize(element, registry, labels) super begin @counter = registry.counter( element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys, store_settings: { topk: @topk } ) rescue ::Prometheus::Client::Registry::AlreadyRegisteredError @counter = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :counter, element['desc']) end end |
Instance Method Details
#set_value(value, labels) ⇒ Object
351 352 353 |
# File 'lib/fluent/plugin/prometheus.rb', line 351 def set_value(value, labels) @counter.increment(by: value, labels: labels) end |
#set_value?(value) ⇒ Boolean
347 348 349 |
# File 'lib/fluent/plugin/prometheus.rb', line 347 def set_value?(value) !value.nil? end |
#value(record) ⇒ Object
337 338 339 340 341 342 343 344 345 |
# File 'lib/fluent/plugin/prometheus.rb', line 337 def value(record) if @key.nil? 1 elsif @key.is_a?(String) record[@key] else @key.call(record) end end |