diff options
author | Steven Knight <knight@baldmt.com> | 2009-08-02 15:54:22 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2009-08-02 15:54:22 (GMT) |
commit | 4bce55bf34b74d453971af4bccaeba1355d052e0 (patch) | |
tree | 8ec25e6272ca31fdb3f37adab823dbce149a7130 /src | |
parent | de0692d145bf19f29c35ea621960be271f02b518 (diff) | |
download | SCons-4bce55bf34b74d453971af4bccaeba1355d052e0.zip SCons-4bce55bf34b74d453971af4bccaeba1355d052e0.tar.gz SCons-4bce55bf34b74d453971af4bccaeba1355d052e0.tar.bz2 |
Add optional time stamping and elapsed time reporting to Trace().
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/SCons/Debug.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/engine/SCons/Debug.py b/src/engine/SCons/Debug.py index 8aa0c21..633f6ea 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() |