[Repoze-checkins] r1145 - in repoze.debug/trunk: . repoze/debug

Chris McDonough chrism at agendaless.com
Fri Jun 27 14:16:23 EDT 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Fri Jun 27 14:16:23 2008
New Revision: 1145

Log:
Monotonic increasing.


Modified:
   repoze.debug/trunk/CHANGES.txt
   repoze.debug/trunk/repoze/debug/responselogger.py

Modified: repoze.debug/trunk/CHANGES.txt
==============================================================================
--- repoze.debug/trunk/CHANGES.txt	(original)
+++ repoze.debug/trunk/CHANGES.txt	Fri Jun 27 14:16:23 2008
@@ -1,3 +1,8 @@
+Next release
+
+  - Make debug id monotonically increase from zero instead of using a
+    random debug id.
+
 0.4 (2008/06/25)
 
   - Add pdbpm middleware for dropping into the post-mortem debugger

Modified: repoze.debug/trunk/repoze/debug/responselogger.py
==============================================================================
--- repoze.debug/trunk/repoze/debug/responselogger.py	(original)
+++ repoze.debug/trunk/repoze/debug/responselogger.py	Fri Jun 27 14:16:23 2008
@@ -1,9 +1,11 @@
-import random
-import sys
 import time
+import threading
 
 from paste.exceptions.errormiddleware import Supplement
 
+rid = -1
+lock = threading.Lock()
+
 class ResponseLoggingMiddleware:
     def __init__(self, app, max_bodylen, logger):
         self.application = app
@@ -11,10 +13,15 @@
         self.logger = logger
 
     def __call__(self, environ, start_response):
-        rnd = random.randint(0, sys.maxint-1)
+        global rid
+        lock.acquire()
+        try:
+            rid = rid + 1
+        finally:
+            lock.release()
 
         debug = environ['repoze.debug'] = {}
-        debug['id'] = rnd
+        debug['id'] = rid
         debug['begin'] = time.time()
 
         self.log_request(environ)


More information about the Repoze-checkins mailing list