Class: Nanoc::Telemetry::LabelledSummary

Inherits:
Object
  • Object
show all
Defined in:
lib/nanoc/telemetry/labelled_summary.rb

Instance Method Summary collapse

Constructor Details

#initializeLabelledSummary

Returns a new instance of LabelledSummary



5
6
7
# File 'lib/nanoc/telemetry/labelled_summary.rb', line 5

def initialize
  @summaries = {}
end

Instance Method Details

#empty?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/nanoc/telemetry/labelled_summary.rb', line 17

def empty?
  @summaries.empty?
end

#get(label) ⇒ Object



13
14
15
# File 'lib/nanoc/telemetry/labelled_summary.rb', line 13

def get(label)
  @summaries.fetch(label) { @summaries[label] = Summary.new }
end

#mapObject



25
26
27
# File 'lib/nanoc/telemetry/labelled_summary.rb', line 25

def map
  @summaries.map { |(label, summary)| yield(label, summary) }
end

#observe(value, label) ⇒ Object



9
10
11
# File 'lib/nanoc/telemetry/labelled_summary.rb', line 9

def observe(value, label)
  get(label).observe(value)
end

#quantile(fraction, label) ⇒ Object



21
22
23
# File 'lib/nanoc/telemetry/labelled_summary.rb', line 21

def quantile(fraction, label)
  get(label).quantile(fraction)
end