import profile, pstats, os, sha def run(cmd,g,l): tempFileName = 'out.profile' prof = profile.Profile() prof.runctx(cmd,g,l) prof.dump_stats(tempFileName) pstat = pstats.Stats(tempFileName) print "Sorted by total cumulative time" pstat.strip_dirs().sort_stats('time').print_stats(100) print "Sorted by number calls time" pstat.strip_dirs().sort_stats('calls').print_stats(100) print "Sorted by number calls time" pstat.strip_dirs().sort_stats('cumulative').print_stats(100) print "A Listing of who called who" pstat.print_callers() print "A Listing of who was called by who" pstat.print_callees() del pstat os.unlink(tempFileName) from Ft.Server.Common import ClAuthenticate from Ft.Server.Server import SCore from Ft.Server.Server.Lib import LogUtil def GetRepo(): properties = GetProperties() return SCore.GetRepository(userName,sha.new(password).hexdigest(),LogUtil.NullLogger(),properties) userName = 'root' password = 'root' from Ft.Server.Server.Commands import Init from Ft.Rdf import Model def InitRepo(): global properties properties = GetProperties() Init.DoInit(properties, userName, sha.new(password).hexdigest(), ['Core'], 1, 0, [(userName, password)], 1) properties = None def InitModel(): global properties driver = GetRdfDriverModule() if driver.ExistsDb('testModel'): driver.DestroyDb('testModel') db = driver.CreateDb('testModel') db.begin() return Model.Model(db) def GetProperties(): import sys properties = {} if "--postgres" in sys.argv: print "Using Postgress Driver" properties['Driver'] = PostgresDriverProperties() else: print "Using Flat File Driver" properties['Driver'] = FlatFileDriverProperties() properties['CoreId'] = 'Core' return properties def GetRdfDriverModule(): import sys properties = {} if "--postgres" in sys.argv: print "Using Postgres Driver" from Ft.Rdf.Drivers import Postgres return Postgres if "--dbm" in sys.argv: print "Using Dbm Driver" from Ft.Rdf.Drivers import Dbm return Dbm print "Memory Driver" from Ft.Rdf.Drivers import Memory return Memory def GetRdfDriver(): mod = GetRdfDriverModule() db = mod.GetDb('testModel') db.begin() return db def FlatFileDriverProperties(): return {'TYPE': 'FlatFile', 'Root': 'profileServer'} def PostgresDriverProperties(): return {'TYPE': 'Postgres', 'DbName': 'profileserver','Host':None, 'Port':-1,'User':None, 'Passwd':None}