class MetricFu::Run
Public Class Methods
new()
click to toggle source
# File lib/metric_fu/run.rb, line 3 def initialize STDOUT.sync = true end
Public Instance Methods
display_results()
click to toggle source
# File lib/metric_fu/run.rb, line 27 def display_results reporter.display_results end
measure()
click to toggle source
# File lib/metric_fu/run.rb, line 17 def measure reporter.start report_metrics.each {|metric| reporter.start_metric(metric) MetricFu.result.add(metric) reporter.finish_metric(metric) } reporter.finish end
report_metrics(metrics = MetricFu::Metric.enabled_metrics)
click to toggle source
# File lib/metric_fu/run.rb, line 13 def report_metrics(metrics = MetricFu::Metric.enabled_metrics) metrics.map(&:name) end
run(options = {})
click to toggle source
# File lib/metric_fu/run.rb, line 7 def run(options = {}) configure_run(options) measure display_results if options[:open] end
Private Instance Methods
configure_formatters(options)
click to toggle source
# File lib/metric_fu/run.rb, line 62 def configure_formatters(options) # Configure from command line if any. if options[:format] MetricFu.configuration.formatters.clear # Command-line format takes precedence. Array(options[:format]).each do |format, o| MetricFu.configuration.configure_formatter(format, o) end end # If no formatters specified, use defaults. if MetricFu.configuration.formatters.empty? Array(MetricFu::Formatter::DEFAULT).each do |format, o| MetricFu.configuration.configure_formatter(format, o) end end end
configure_metric(metric, metric_options)
click to toggle source
# File lib/metric_fu/run.rb, line 53 def configure_metric(metric, metric_options) MetricFu::Configuration.configure_metric(metric) do |metric| metric_options.each do |option, value| mf_log "Setting #{metric} option #{option} to #{value}" metric.public_send("#{option}=", value) end end end
configure_run(options)
click to toggle source
# File lib/metric_fu/run.rb, line 33 def configure_run(options) disable_metrics(options) configure_formatters(options) end
disable_metrics(options)
click to toggle source
# File lib/metric_fu/run.rb, line 38 def disable_metrics(options) return if options.size == 0 report_metrics.each do |metric| metric = metric.to_sym if (metric_options = options[metric]) mf_debug "using metric #{metric}" configure_metric(metric, metric_options) if metric_options.is_a?(Hash) else mf_debug "disabling metric #{metric}" MetricFu::Metric.get_metric(metric).enabled = false mf_debug "active metrics are #{MetricFu::Metric.enabled_metrics.inspect}" end end end
reporter()
click to toggle source
# File lib/metric_fu/run.rb, line 78 def reporter MetricFu::Reporter.new(MetricFu.configuration.formatters) end