class Jester(): def __init__(self, profiler=False): self.profiler = cProfile.Profile() skeletons = [] self.jester_ui = JesterUI({"skeletons": skeletons, "recorder": recorder, "outputs": outputs}) self.skeleton_finder = Finder(skeletons=skeletons, ui=self.jester_ui) self.jester_events = JesterEvents(skeletons=skeletons, recorder=recorder, outputs=outputs, ui=self.jester_ui, p=self.profiler) def go(self): self.skeleton_finder.start() self.jester_events.start() self.jester_ui.go() save_data() s = StringIO.StringIO() sortby = 'cumulative' stats = pstats.Stats(self.profiler, stream=s).sort_stats(sortby) stats.print_stats() print s.getvalue()