From 4bce55bf34b74d453971af4bccaeba1355d052e0 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Sun, 2 Aug 2009 15:54:22 +0000 Subject: Add optional time stamping and elapsed time reporting to Trace(). --- src/engine/SCons/Debug.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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() -- cgit v0.12