| Index: psyco_win32/psyco/logger.py
|
| ===================================================================
|
| --- psyco_win32/psyco/logger.py (revision 0)
|
| +++ psyco_win32/psyco/logger.py (revision 0)
|
| @@ -0,0 +1,96 @@
|
| +###########################################################################
|
| +#
|
| +# Psyco logger.
|
| +# Copyright (C) 2001-2002 Armin Rigo et.al.
|
| +
|
| +"""Psyco logger.
|
| +
|
| +See log() in core.py.
|
| +"""
|
| +###########################################################################
|
| +
|
| +
|
| +import _psyco
|
| +from time import time, localtime, strftime
|
| +
|
| +
|
| +current = None
|
| +print_charges = 10
|
| +dump_delay = 0.2
|
| +dump_last = 0.0
|
| +
|
| +def write(s, level):
|
| + t = time()
|
| + f = t-int(t)
|
| + try:
|
| + current.write("%s.%02d %-*s%s\n" % (
|
| + strftime("%X", localtime(int(t))),
|
| + int(f*100.0), 63-level, s,
|
| + "%"*level))
|
| + current.flush()
|
| + except (OSError, IOError):
|
| + pass
|
| +
|
| +def psycowrite(s):
|
| + t = time()
|
| + f = t-int(t)
|
| + try:
|
| + current.write("%s.%02d %-*s%s\n" % (
|
| + strftime("%X", localtime(int(t))),
|
| + int(f*100.0), 60, s.strip(),
|
| + "% %"))
|
| + current.flush()
|
| + except (OSError, IOError):
|
| + pass
|
| +
|
| +##def writelines(lines, level=0):
|
| +## if lines:
|
| +## t = time()
|
| +## f = t-int(t)
|
| +## timedesc = strftime("%x %X", localtime(int(t)))
|
| +## print >> current, "%s.%03d %-*s %s" % (
|
| +## timedesc, int(f*1000),
|
| +## 50-level, lines[0],
|
| +## "+"*level)
|
| +## timedesc = " " * (len(timedesc)+5)
|
| +## for line in lines[1:]:
|
| +## print >> current, timedesc, line
|
| +
|
| +def writememory():
|
| + write("memory usage: %d+ kb" % _psyco.memory(), 1)
|
| +
|
| +def dumpcharges():
|
| + global dump_last
|
| + if print_charges:
|
| + t = time()
|
| + if not (dump_last <= t < dump_last+dump_delay):
|
| + if t <= dump_last+1.5*dump_delay:
|
| + dump_last += dump_delay
|
| + else:
|
| + dump_last = t
|
| + #write("%s: charges:" % who, 0)
|
| + lst = _psyco.stattop(print_charges)
|
| + if lst:
|
| + f = t-int(t)
|
| + lines = ["%s.%02d ______\n" % (
|
| + strftime("%X", localtime(int(t))),
|
| + int(f*100.0))]
|
| + i = 1
|
| + for co, charge in lst:
|
| + detail = co.co_filename
|
| + if len(detail) > 19:
|
| + detail = '...' + detail[-17:]
|
| + lines.append(" #%-3d |%4.1f %%| %-26s%20s:%d\n" %
|
| + (i, charge*100.0, co.co_name, detail,
|
| + co.co_firstlineno))
|
| + i += 1
|
| + current.writelines(lines)
|
| + current.flush()
|
| +
|
| +def writefinalstats():
|
| + dumpcharges()
|
| + writememory()
|
| + writedate("program exit")
|
| +
|
| +def writedate(msg):
|
| + write('%s, %s' % (msg, strftime("%x")), 20)
|
|
|
| Property changes on: psyco_win32\psyco\logger.py
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|