Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2973)

Unified Diff: bootperf-bin/showbootdata

Issue 4148011: Create bootperf-bin tools for running boot time tests and reporting results (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Apply selected fixes recommended by gpylint Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « bootperf-bin/resultset.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: bootperf-bin/showbootdata
diff --git a/bootperf-bin/showbootdata b/bootperf-bin/showbootdata
new file mode 100755
index 0000000000000000000000000000000000000000..b5261d12bb89590a790a32aa293b4df2dd457e4b
--- /dev/null
+++ b/bootperf-bin/showbootdata
@@ -0,0 +1,116 @@
+#!/usr/bin/python
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""A command to display summary statistics from runs of 'bootperf'.
+
+Command line options allow selecting from one of two sets of
+performance statistics: The boot time statistics (selected by
+--timestats) measure time spent from kernel startup in milliseconds.
+The disk statistics (selected by --diskstats) measure total bytes
+read from the boot device since kernel startup.
+
+Boot time statistics are recorded as cumulative time (or disk read)
+since kernel startup, measured when specific events occur during
+boot. Events include such things as 'startup', the moment when the
+upstart 'startup' job begins running, and 'login', when the
+Chrome OS login screen is displayed. By default, all recorded events
+are included in the output; command line options allow restricting
+the view to a selected subset of events.
+
+Separate command line options allow selecting from one of two
+different display modes. When --averages is selected, the display
+shows the average value and sample standard deviation (as a percent
+of the average) for all selected events. The --averages display also
+calculates the time (or bytes) between adjacent events, and shows
+the avearage and sample standard deviation of the differences.
+
+The --rawdata display shows the raw data value associated with each
+event for each boot: Each line of output represents the event values
+for one boot cycle.
+
+"""
+
+import sys
+import optparse
+
+import perfprinter
+
+
+_usage = "%prog [options] [results-directory ...]"
+_description = """\
+Summarize boot time performance results. The result directory
+arguments are directories previously specified as output for the
+'bootperf' script.
+"""
+optparser = optparse.OptionParser(usage=_usage, description=_description)
+
+optgroup = optparse.OptionGroup(
+ optparser, "Selecting boot time or disk statistics (choose one)")
+optgroup.add_option(
+ "-d", "--diskstats", action="store_true",
+ dest="use_diskstats",
+ help="use statistics for bytes read since kernel startup")
+optgroup.add_option(
+ "-t", "--timestats", action="store_true",
+ dest="use_timestats",
+ help="use statistics for time since kernel startup (default)")
+optparser.add_option_group(optgroup)
+optparser.set_defaults(use_diskstats=False)
+optparser.set_defaults(use_timestats=False)
+
+optgroup = optparse.OptionGroup(optparser, "Event selection")
+optgroup.add_option(
+ "-e", "--event", action="append",
+ dest="eventnames",
+ help="restrict statistics to the comma-separated list of events")
+optparser.add_option_group(optgroup)
+
+optgroup = optparse.OptionGroup(
+ optparser, "Display mode selection (choose one)")
+optgroup.add_option(
+ "-a", "--averages", action="store_true",
+ dest="print_averages",
+ help="display a summary of the averages of chosen statistics (default)")
+optgroup.add_option(
+ "-r", "--rawdata", action="store_true",
+ dest="print_raw",
+ help="display raw data from all boot iterations")
+optparser.add_option_group(optgroup)
+optparser.set_defaults(print_averages=False)
+optparser.set_defaults(print_raw=False)
+
+
+def main(argv):
+ (options, args) = optparser.parse_args(argv)
+ if options.print_averages and options.print_raw:
+ print >>sys.stderr, "Can't use -a and -r together.\n"
+ optparser.print_help()
+ sys.exit(1)
+ elif options.print_raw:
+ printfunc = perfprinter.PrintRawData
+ else:
+ printfunc = perfprinter.PrintStatisticsSummary
+ if options.use_timestats and options.use_diskstats:
+ print >>sys.stderr, "Can't use -t and -d together.\n"
+ optparser.print_help()
+ sys.exit(1)
+ elif options.use_diskstats:
+ use_timestats = False
+ else:
+ use_timestats = True
+ if options.eventnames:
+ keylist = []
+ for kl in options.eventnames:
+ keylist.extend(kl.split(','))
+ else:
+ keylist = None
+ printfunc(args, use_timestats, keylist)
+
+if __name__ == "__main__":
+ if len(sys.argv) > 1:
+ main(sys.argv[1:])
+ else:
+ main(["."])
« no previous file with comments | « bootperf-bin/resultset.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698