class Leafy::Core::ConsoleReporter
Constants
- CONSOLE_WIDTH
Attributes
clock[R]
output[R]
Public Class Methods
new(registry, executor = nil, shutdownExecutorOnStop = true, output: nil, clock: nil)
click to toggle source
Calls superclass method
# File lib/leafy/core/console_reporter.rb, line 56 def initialize(registry, executor = nil, shutdownExecutorOnStop = true, output: nil, clock: nil) super(registry, 'console-reporter', executor, shutdownExecutorOnStop) @output = output || STDOUT @clock = clock || Clock.default_clock end
Public Instance Methods
do_report(gauges, counters, histograms, meters, timers)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 74 def do_report(gauges, counters, histograms, meters, timers) dateTime = Time.at(@clock.time / 1000000.0).utc printWithBanner(dateTime.to_s, '='); output.puts print_report(gauges, 'Gauges', method(:printGauge)) print_report(counters, 'Counters', method(:printCounter)) print_report(histograms, 'Histograms', method(:printHistogram)) print_report(meters, 'Meters', method(:printMeter)) print_report(timers, 'Timers', method(:printTimer)) output.puts output.flush end
printWithBanner(string, char)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 149 def printWithBanner(string, char) output.print(string) output.print(' ') (CONSOLE_WIDTH - string.size - 1).times { output.print(char) } output.puts end
Private Instance Methods
printCounter(counter)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 102 def printCounter(counter) output.printf(" count = %d\n", counter.count) end
printGauge(gauge)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 107 def printGauge(gauge) output.printf(" value = %s\n", gauge.value) end
printHistogram(histogram)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 112 def printHistogram(histogram) output.printf(" count = %d\n", histogram.count) snapshot = histogram.snapshot output.printf(" min = %d\n", snapshot.min) output.printf(" max = %d\n", snapshot.max) output.printf(" mean = %2.2f\n", snapshot.mean) output.printf(" stddev = %2.2f\n", snapshot.std_dev) output.printf(" median = %2.2f\n", snapshot.median) output.printf(" 75%% <= %2.2f\n", snapshot.get_75th_percentile) output.printf(" 95%% <= %2.2f\n", snapshot.get_95th_percentile) output.printf(" 98%% <= %2.2f\n", snapshot.get_98th_percentile) output.printf(" 99%% <= %2.2f\n", snapshot.get_99th_percentile) output.printf(" 99.9%% <= %2.2f\n", snapshot.get_999th_percentile) end
printMeter(meter)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 93 def printMeter(meter) output.printf(" count = %d\n", meter.count) output.printf(" mean rate = %2.2f events/%s\n", convert_rate(meter.mean_rate), rate_unit) output.printf(" 1-minute rate = %2.2f events/%s\n", convert_rate(meter.one_minute_rate), rate_unit) output.printf(" 5-minute rate = %2.2f events/%s\n", convert_rate(meter.five_minute_rate), rate_unit) output.printf(" 15-minute rate = %2.2f events/%s\n", convert_rate(meter.fifteen_minute_rate), rate_unit) end
printTimer(timer)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 128 def printTimer(timer) snapshot = timer.snapshot output.printf(" count = %d\n", timer.count) output.printf(" mean rate = %2.2f calls/%s\n", convert_rate(timer.mean_rate), rate_unit) output.printf(" 1-minute rate = %2.2f calls/%s\n", convert_rate(timer.one_minute_rate), rate_unit) output.printf(" 5-minute rate = %2.2f calls/%s\n", convert_rate(timer.five_minute_rate), rate_unit) output.printf(" 15-minute rate = %2.2f calls/%s\n", convert_rate(timer.fifteen_minute_rate), rate_unit) output.printf(" min = %2.2f %s\n", convert_duration(snapshot.min), duration_unit) output.printf(" max = %2.2f %s\n", convert_duration(snapshot.max), duration_unit) output.printf(" mean = %2.2f %s\n", convert_duration(snapshot.mean), duration_unit) output.printf(" stddev = %2.2f %s\n", convert_duration(snapshot.std_dev), duration_unit) output.printf(" median = %2.2f %s\n", convert_duration(snapshot.median), duration_unit) output.printf(" 75%% <= %2.2f %s\n", convert_duration(snapshot.get_75th_percentile), duration_unit) output.printf(" 95%% <= %2.2f %s\n", convert_duration(snapshot.get_95th_percentile), duration_unit) output.printf(" 98%% <= %2.2f %s\n", convert_duration(snapshot.get_98th_percentile), duration_unit) output.printf(" 99%% <= %2.2f %s\n", convert_duration(snapshot.get_99th_percentile), duration_unit) output.printf(" 99.9%% <= %2.2f %s\n", convert_duration(snapshot.get_999th_percentile), duration_unit) end
print_report(metric, name, print_method)
click to toggle source
# File lib/leafy/core/console_reporter.rb, line 62 def print_report(metric, name, print_method) unless metric.empty? printWithBanner("-- #{name}", '-') metric.each do |k,v| output.puts(k) print_method.call(v) end output.puts end end