def report(caption = "rpc stats", summarize = true, verbose = false)
result_text = []
if verbose
if @aggregate_summary.size > 0 && summarize
result_text << text_for_aggregates
else
result_text << ""
end
result_text << Util.colorize(:yellow, "---- #{caption} ----")
if @discovered
@responses < @discovered ? color = :red : color = :reset
result_text << " Nodes: %s / %s" % [ Util.colorize(color, @discovered), Util.colorize(color, @responses) ]
else
result_text << " Nodes: #{@responses}"
end
@failcount < 0 ? color = :red : color = :reset
result_text << " Pass / Fail: %s / %s" % [Util.colorize(color, @okcount), Util.colorize(color, @failcount) ]
result_text << " Start Time: %s" % [Time.at(@starttime)]
result_text << " Discovery Time: %.2fms" % [@discoverytime * 1000]
result_text << " Agent Time: %.2fms" % [@blocktime * 1000]
result_text << " Total Time: %.2fms" % [@totaltime * 1000]
else
if @discovered
@responses < @discovered ? color = :red : color = :green
if @aggregate_summary.size + @aggregate_failures.size > 0 && summarize
result_text << text_for_aggregates
else
result_text << ""
end
result_text << "Finished processing %s / %s hosts in %.2f ms" % [Util.colorize(color, @responses), Util.colorize(color, @discovered), @blocktime * 1000]
else
result_text << "Finished processing %s hosts in %.2f ms" % [Util.colorize(:bold, @responses), @blocktime * 1000]
end
end
if no_response_report != ""
result_text << "" << no_response_report
end
result_text.join("\n")
end