Class: Fluent::Plugin::Prometheus::Counter
- Inherits:
-
Metric
- Object
- Metric
- Fluent::Plugin::Prometheus::Counter
show all
- Defined in:
- lib/fluent/plugin/prometheus.rb
Instance Attribute Summary
Attributes inherited from Metric
#desc, #key, #name, #type
Instance Method Summary
collapse
Methods inherited from Metric
get, init_label_set, #labels
Constructor Details
#initialize(element, registry, labels) ⇒ Counter
309
310
311
312
313
314
315
316
317
318
319
320
|
# File 'lib/fluent/plugin/prometheus.rb', line 309
def initialize(element, registry, labels)
super
begin
@counter = registry.counter(element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys)
rescue ::Prometheus::Client::Registry::AlreadyRegisteredError
@counter = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :counter, element['desc'])
end
if @initialized
Fluent::Plugin::Prometheus::Metric.init_label_set(@counter, @base_initlabels, @base_labels)
end
end
|
Instance Method Details
#instrument(record, expander) ⇒ Object
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
|
# File 'lib/fluent/plugin/prometheus.rb', line 322
def instrument(record, expander)
if @key.nil?
value = 1
elsif @key.is_a?(String)
value = record[@key]
else
value = @key.call(record)
end
return if value.nil?
@counter.increment(by: value, labels: labels(record, expander))
end
|