def test_set_profile(self): try: c.set_profile(True) def funcy2(): pass funcy2() finally: c.set_profile(False)
def __call__(self, environ, start_response): name = environ.get("PATH_INFO", "") + "?" + environ.get("QUERY_STRING", "") active = not name.startswith("/static/") if active: ctx.set_log(self.log_url) ctx.set_profile(True) ctx.log_bmark(name) response = self.app(environ, start_response) if active: ctx.set_profile(False) return response
def __call__(self, environ, start_response): name = environ.get("PATH_INFO", "") + "?" + environ.get( "QUERY_STRING", "") active = not name.startswith("/static/") if active: ctx.set_log(self.log_url) ctx.set_profile(True) ctx.log_bmark(name) response = self.app(environ, start_response) if active: ctx.set_profile(False) return response
import context.api as ctx # your program as normal goes here if __name__ == "__main__": ctx.set_log("file://example.ctxt") ctx.set_profile(True) main()
#!/usr/bin/python import context.api as c import time c.set_log("file://output.py-profile.ctxt") c.set_profile(True) BOARD_SIZE = 8 class BailOut(Exception): pass def validate(queens): time.sleep(0.01) left = right = col = queens[-1] for r in reversed(queens[:-1]): left, right = left - 1, right + 1 if r in (left, col, right): raise BailOut def add_queen(queens): for i in range(BOARD_SIZE): test_queens = queens + [i] try: validate(test_queens) if len(test_queens) == BOARD_SIZE:
#!/usr/bin/python import context.api as c import time c.set_log("file://output.py-profile.ctxt") c.set_profile(True) BOARD_SIZE = 8 class BailOut(Exception): pass def validate(queens): time.sleep(0.01) left = right = col = queens[-1] for r in reversed(queens[:-1]): left, right = left - 1, right + 1 if r in (left, col, right): raise BailOut def add_queen(queens): for i in range(BOARD_SIZE): test_queens = queens + [i] try: validate(test_queens) if len(test_queens) == BOARD_SIZE: return test_queens else: return add_queen(test_queens)