class Prometheus::Client::Summary
Summary
is an accumulator for samples. It captures Numeric data and provides an efficient quantile calculation mechanism.
Public Class Methods
new(name, docstring, base_labels = {})
click to toggle source
Calls superclass method
Prometheus::Client::Metric::new
# File lib/prometheus/client/summary.rb, line 27 def initialize(name, docstring, base_labels = {}) super(name, docstring, base_labels) end
Public Instance Methods
get(labels = {})
click to toggle source
Returns the value for the given label set
# File lib/prometheus/client/summary.rb, line 45 def get(labels = {}) @validator.valid?(labels) synchronize do @values[labels].sum.get end end
observe(labels, value)
click to toggle source
Records a given value.
# File lib/prometheus/client/summary.rb, line 36 def observe(labels, value) label_set = label_set_for(labels) synchronize { @values[label_set].observe(value) } end
Also aliased as: add
type()
click to toggle source
# File lib/prometheus/client/summary.rb, line 31 def type :summary end
values()
click to toggle source
Returns all label sets with their values
# File lib/prometheus/client/summary.rb, line 54 def values synchronize do @values.each_with_object({}) do |(labels, value), memo| memo[labels] = value.sum end end end
Private Instance Methods
default(labels)
click to toggle source
# File lib/prometheus/client/summary.rb, line 64 def default(labels) Value.new(type, @name, labels) end