[jToolkit-cvs] jToolkit/data database.py,1.7,1.8
Brought to you by:
davidfraser,
friedelwolff
From: <dav...@us...> - 2004-02-09 12:32:38
|
Update of /cvsroot/jtoolkit/jToolkit/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21631 Modified Files: database.py Log Message: added code to produce statistics on sql queries that are actually run Index: database.py =================================================================== RCS file: /cvsroot/jtoolkit/jToolkit/data/database.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** database.py 9 Feb 2004 12:23:36 -0000 1.7 --- database.py 9 Feb 2004 12:29:26 -0000 1.8 *************** *** 27,30 **** --- 27,31 ---- import types import atexit + import time try: *************** *** 103,106 **** --- 104,109 ---- self.lower = lower self.dbtypenames = dbtypenames[self.DBTYPE] + # record statistics for optimisation + self.sqlstats = {} # set up caches self.cachetables = [] *************** *** 419,424 **** --- 422,434 ---- return cachedrow, description return cachedrow + t1 = time.time() cursor = self.query(sql) row = cursor.fetchone() + # calculate stats... + ms = (time.time() - t1) * 1000 + if sql not in self.sqlstats: + self.sqlstats[sql] = timecache.timecache(300) + self.sqlstats[sql][t1] = ms + # handle the result if row is None: # return None for each field *************** *** 441,446 **** --- 451,463 ---- return cachedrows, description return cachedrows + t1 = time.time() cursor = self.query(sql) rows = cursor.fetchall() + # calculate stats... + ms = (time.time() - t1) * 1000 + if sql not in self.sqlstats: + self.sqlstats[sql] = timecache.timecache(300) + self.sqlstats[sql][t1] = ms + # handle the result self.setallrowscache(sql, rows, cursor.description) if withdescription: |