diff options
Diffstat (limited to 'ANDROID_3.4.5/scripts/show_delta')
-rwxr-xr-x | ANDROID_3.4.5/scripts/show_delta | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/ANDROID_3.4.5/scripts/show_delta b/ANDROID_3.4.5/scripts/show_delta deleted file mode 100755 index 17df3051..00000000 --- a/ANDROID_3.4.5/scripts/show_delta +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/python -# -# show_deltas: Read list of printk messages instrumented with -# time data, and format with time deltas. -# -# Also, you can show the times relative to a fixed point. -# -# Copyright 2003 Sony Corporation -# -# GPL 2.0 applies. - -import sys -import string - -def usage(): - print """usage: show_delta [<options>] <filename> - -This program parses the output from a set of printk message lines which -have time data prefixed because the CONFIG_PRINTK_TIME option is set, or -the kernel command line option "time" is specified. When run with no -options, the time information is converted to show the time delta between -each printk line and the next. When run with the '-b' option, all times -are relative to a single (base) point in time. - -Options: - -h Show this usage help. - -b <base> Specify a base for time references. - <base> can be a number or a string. - If it is a string, the first message line - which matches (at the beginning of the - line) is used as the time reference. - -ex: $ dmesg >timefile - $ show_delta -b NET4 timefile - -will show times relative to the line in the kernel output -starting with "NET4". -""" - sys.exit(1) - -# returns a tuple containing the seconds and text for each message line -# seconds is returned as a float -# raise an exception if no timing data was found -def get_time(line): - if line[0]!="[": - raise ValueError - - # split on closing bracket - (time_str, rest) = string.split(line[1:],']',1) - time = string.atof(time_str) - - #print "time=", time - return (time, rest) - - -# average line looks like: -# [ 0.084282] VFS: Mounted root (romfs filesystem) readonly -# time data is expressed in seconds.useconds, -# convert_line adds a delta for each line -last_time = 0.0 -def convert_line(line, base_time): - global last_time - - try: - (time, rest) = get_time(line) - except: - # if any problem parsing time, don't convert anything - return line - - if base_time: - # show time from base - delta = time - base_time - else: - # just show time from last line - delta = time - last_time - last_time = time - - return ("[%5.6f < %5.6f >]" % (time, delta)) + rest - -def main(): - base_str = "" - filein = "" - for arg in sys.argv[1:]: - if arg=="-b": - base_str = sys.argv[sys.argv.index("-b")+1] - elif arg=="-h": - usage() - else: - filein = arg - - if not filein: - usage() - - try: - lines = open(filein,"r").readlines() - except: - print "Problem opening file: %s" % filein - sys.exit(1) - - if base_str: - print 'base= "%s"' % base_str - # assume a numeric base. If that fails, try searching - # for a matching line. - try: - base_time = float(base_str) - except: - # search for line matching <base> string - found = 0 - for line in lines: - try: - (time, rest) = get_time(line) - except: - continue - if string.find(rest, base_str)==1: - base_time = time - found = 1 - # stop at first match - break - if not found: - print 'Couldn\'t find line matching base pattern "%s"' % base_str - sys.exit(1) - else: - base_time = 0.0 - - for line in lines: - print convert_line(line, base_time), - -main() - |