| | | |
- Profile
-
- HotProfile
- OldProfile
| |
class Profile |
| | |
#**************************************************************************
# class Profile documentation:
#**************************************************************************
# self.cur is always a tuple. Each such tuple corresponds to a stack
# frame that is currently active (self.cur[-2]). The following are the
# definitions of its members. We use this external "parallel stack" to
# avoid contaminating the program that we are profiling. (old profiler
# used to write into the frames local dictionary!!) Derived classes
# can change the definition of some entries, as long as they leave
# [-2:] intact.
#
# [ 0] = Time that needs to be charged to the parent frame's function. It is
# used so that a function call will not have to access the timing data
# for the parents frame.
# [ 1] = Total time spent in this frame's function, excluding time in
# subfunctions
# [ 2] = Cumulative time spent in this frame's function, including time in
# all subfunctions to this frame.
# [-3] = Name of the function that corresonds to this frame.
# [-2] = Actual frame that we correspond to (used to sync exception handling)
# [-1] = Our parent 6-tuple (corresonds to frame.f_back)
#**************************************************************************
# Timing data for each function is stored as a 5-tuple in the dictionary
# self.timings[]. The index is always the name stored in self.cur[4].
# The following are the definitions of the members:
#
# [0] = The number of times this function was called, not counting direct
# or indirect recursion,
# [1] = Number of times this function appears on the stack, minus one
# [2] = Total time spent internal to this function
# [3] = Cumulative time that this function was present on the stack. In
# non-recursive functions, this is the total execution time from start
# to finish of each invocation of a function, including time spent in
# all subfunctions.
# [5] = A dictionary indicating for each function name, the number of times
# it was called by us.
#************************************************************************** |
| | | |
- __init__(self, timer=None)
- calibrate(self, m)
- create_stats(self)
- dump_stats(self, file)
- get_time(self)
- get_time_mac(self)
- instrumented(self)
- print_stats(self)
- profiler_simulation(self, x, y, z)
- run(self, cmd)
- runcall(self, func, *args)
- runctx(self, cmd, globals, locals)
- set_cmd(self, cmd)
- simple(self)
- simulate_call(self, name)
- simulate_cmd_complete(self)
- snapshot_stats(self)
- trace_dispatch(self, frame, event, arg)
- trace_dispatch_call(self, frame, t)
- trace_dispatch_exception(self, frame, t)
- trace_dispatch_i(self, frame, event, arg)
- trace_dispatch_l(self, frame, event, arg)
- trace_dispatch_mac(self, frame, event, arg)
- trace_dispatch_return(self, frame, t)
| |