From: stevenknight Date: Sun, 2 Aug 2009 15:54:22 +0000 (+0000) Subject: Add optional time stamping and elapsed time reporting to Trace(). X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=8842796c7e5ec3f12304b65313944ba740f8cfc3;p=scons.git Add optional time stamping and elapsed time reporting to Trace(). git-svn-id: http://scons.tigris.org/svn/scons/trunk@4316 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- diff --git a/src/engine/SCons/Debug.py b/src/engine/SCons/Debug.py index 8aa0c218..633f6ea4 100644 --- a/src/engine/SCons/Debug.py +++ b/src/engine/SCons/Debug.py @@ -34,6 +34,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import os import string import sys +import time # Recipe 14.10 from the Python Cookbook. try: @@ -196,14 +197,24 @@ if sys.platform == 'win32': else: TraceDefault = '/dev/tty' -def Trace(msg, file=None, mode='w'): +TimeStampDefault = None +StartTime = time.time() +PreviousTime = StartTime + +def Trace(msg, file=None, mode='w', tstamp=None): """Write a trace message to a file. Whenever a file is specified, it becomes the default for the next call to Trace().""" global TraceDefault + global TimeStamp + global PreviousTime if file is None: file = TraceDefault else: TraceDefault = file + if tstamp is None: + tstamp = TimeStampDefault + else: + TimeStampDefault = tstamp try: fp = TraceFP[file] except KeyError: @@ -212,6 +223,10 @@ def Trace(msg, file=None, mode='w'): except TypeError: # Assume we were passed an open file pointer. fp = file + if tstamp: + now = time.time() + fp.write('%8.4f %8.4f: ' % (now - StartTime, now - PreviousTime)) + PreviousTime = now fp.write(msg) fp.flush()