[Checkins] SVN: zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/replay.py Print interim stats
Jim Fulton
jim at zope.com
Wed Oct 7 18:47:08 EDT 2009
Log message for revision 104900:
Print interim stats
Changed:
U zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/replay.py
-=-
Modified: zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/replay.py
===================================================================
--- zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/replay.py 2009-10-07 22:10:25 UTC (rev 104899)
+++ zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/replay.py 2009-10-07 22:47:08 UTC (rev 104900)
@@ -394,6 +394,18 @@
addr = addr.split(':')
return addr[0], int(addr[1])
+def print_times(last_times, times, label):
+ print 'Time per op (milliseconds)', label
+ times = times.copy()
+ for op in sorted(times):
+ n, t = handlers.times[op]
+ last = last_times.get(op)
+ if last:
+ n -= last[0]
+ t -= last[1]
+ print "%20s %10d %10.3f" % (op, n, t*1000/n)
+ return times
+
def main(args=None):
"""Usage: script address log source
@@ -445,8 +457,15 @@
firsttt = lasttt = log.start()
work = lastwork = 0
speed = speed1 = None
+ last_times = {}
for t in Transactions(source):
+
+ if nt and (nt%1000 == 0):
+ last_times = print_times(last_times, handlers.times,
+ "after %s transactions" % nt)
+
nt += 1
+
tt = ZODB.TimeStamp.TimeStamp(t.id).timeTime()
pending = handlers.calls - handlers.replies - handlers.abandoned
now = time.time()
@@ -495,7 +514,8 @@
n, t = handlers.times[op]
print 'err', op, n, t/n
- for op in sorted(handlers.times):
- n, t = handlers.times[op]
- print op, n, t/n
+ print_times(last_times, handlers.times,
+ "after %s transactions" % nt)
+ print_times({}, handlers.times, "overall")
+
More information about the checkins
mailing list