⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profiler.py

📁 在 linux平台上的网页编程的模板
💻 PY
字号:
import timeimport who_callsimport neo_cgiPROFILER_DATA = []PROFILER_START = 0PROFILER_ENABLED = 0PROFILER_DEPTH = 0def enable():    global PROFILER_START    global PROFILER_ENABLED    global PROFILER_DATA    PROFILER_START = time.time()    PROFILER_ENABLED = 1    PROFILER_DATA = []def disable():    global PROFILER_START    global PROFILER_ENABLED    global PROFILER_DATA    PROFILER_START = 0    PROFILER_ENABLED = 0    PROFILER_DATA = []def hdfExport(prefix, hdf):    global PROFILER_DATA    n = 0    for p in PROFILER_DATA:        hdf.setValue("%s.%d.when" % (prefix, n), "%5.2f" % (p.when))        hdf.setValue("%s.%d.time" % (prefix, n), "%5.2f" % (p.length))        hdf.setValue("%s.%d.klass" % (prefix, n), p.klass)        hdf.setValue("%s.%d.what" % (prefix, n), "&nbsp;" * p.depth + p.what)        hdf.setValue("%s.%d.where" % (prefix, n), neo_cgi.htmlEscape(p.where))class Profiler:    def __init__ (self, klass, what):        global PROFILER_START        global PROFILER_ENABLED        global PROFILER_DATA        global PROFILER_DEPTH        if not PROFILER_ENABLED: return        self.when = time.time() - PROFILER_START        self.klass = klass        self.where = who_calls.pretty_who_calls()        self.what = what        self.length = 0        self.depth = PROFILER_DEPTH        PROFILER_DEPTH = PROFILER_DEPTH + 1        PROFILER_DATA.append(self)    def end(self):        global PROFILER_ENABLED        global PROFILER_DEPTH        if not PROFILER_ENABLED: return        self.length = time.time() - self.when - PROFILER_START        PROFILER_DEPTH = PROFILER_DEPTH - 1        if PROFILER_DEPTH < 0: PROFILER_DEPTH = 0class ProfilerCursor:    def __init__ (self, real_cursor):        self.real_cursor = real_cursor    def execute (self, query, args=None):        p = Profiler("SQL", query)        r = self.real_cursor.execute(query, args)        p.end()        return r    def __getattr__ (self, key):        return getattr(self.real_cursor, key)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -