| Index: tools/cygprofile/mergetraces.py
|
| diff --git a/tools/cygprofile/mergetraces.py b/tools/cygprofile/mergetraces.py
|
| index 5d85920beb6d3737d0d004c849616f1d1f660074..1c7627a8dff507408a3bcee8af0a030a45d8f6c3 100755
|
| --- a/tools/cygprofile/mergetraces.py
|
| +++ b/tools/cygprofile/mergetraces.py
|
| @@ -26,7 +26,7 @@ def ParseLogLines(lines):
|
|
|
| Below is an example of a small log file:
|
| 5086e000-52e92000 r-xp 00000000 b3:02 51276 libchromeview.so
|
| - secs msecs pid:threadid func
|
| + secs usecs pid:threadid func
|
| START
|
| 1314897086 795828 3587:1074648168 0x509e105c
|
| 1314897086 795874 3587:1074648168 0x509e0eb4
|
| @@ -78,18 +78,18 @@ def CheckTimestamps(calls):
|
| """
|
| index = 0
|
| last_timestamp_secs = -1
|
| - last_timestamp_ms = -1
|
| + last_timestamp_us = -1
|
| while (index < len (calls)):
|
| timestamp_secs = int (calls[index][0])
|
| - timestamp_ms = int (calls[index][1])
|
| - timestamp = (timestamp_secs * 1000000) + timestamp_ms
|
| - last_timestamp = (last_timestamp_secs * 1000000) + last_timestamp_ms
|
| + timestamp_us = int (calls[index][1])
|
| + timestamp = (timestamp_secs * 1000000) + timestamp_us
|
| + last_timestamp = (last_timestamp_secs * 1000000) + last_timestamp_us
|
| if (timestamp < last_timestamp):
|
| - sys.stderr.write("WARNING: last_timestamp: " + str(last_timestamp_secs)
|
| - + " " + str(last_timestamp_ms) + " timestamp: "
|
| - + str(timestamp_secs) + " " + str(timestamp_ms) + "\n")
|
| + raise Exception("last_timestamp: " + str(last_timestamp_secs)
|
| + + " " + str(last_timestamp_us) + " timestamp: "
|
| + + str(timestamp_secs) + " " + str(timestamp_us) + "\n")
|
| last_timestamp_secs = timestamp_secs
|
| - last_timestamp_ms = timestamp_ms
|
| + last_timestamp_us = timestamp_us
|
| index = index + 1
|
|
|
| def Convert (call_lines, startAddr, endAddr):
|
| @@ -100,19 +100,19 @@ def Convert (call_lines, startAddr, endAddr):
|
| address in shared library.
|
|
|
| Returns:
|
| - list of calls as tuples (sec, msec, pid:tid, callee)
|
| + list of calls as tuples (sec, usec, pid:tid, callee)
|
| """
|
| converted_calls = []
|
| call_addresses = []
|
| for fields in call_lines:
|
| secs = int (fields[0])
|
| - msecs = int (fields[1])
|
| + usecs = int (fields[1])
|
| callee = int (fields[3], 16)
|
| # print ("callee: " + hex (callee) + " start: " + hex (startAddr) + " end: "
|
| # + hex (endAddr))
|
| if (callee >= startAddr and callee < endAddr
|
| and (not callee in call_addresses)):
|
| - converted_calls.append((secs, msecs, fields[2], (callee - startAddr)))
|
| + converted_calls.append((secs, usecs, fields[2], (callee - startAddr)))
|
| call_addresses.append(callee)
|
| return converted_calls
|
|
|
| @@ -177,7 +177,7 @@ def main():
|
| merged_trace.sort(key=Timestamp)
|
|
|
| print "0-ffffffff r-xp 00000000 xx:00 00000 ./"
|
| - print "secs\tmsecs\tpid:threadid\tfunc"
|
| + print "secs\tusecs\tpid:threadid\tfunc"
|
| for call in merged_trace:
|
| print (str(call[0]) + "\t" + str(call[1]) + "\t" + call[2] + "\t" +
|
| hex(call[3]))
|
|
|