MCPcopy Index your code
hub / github.com/pythonprofilers/memory_profiler / trace_memory_usage

Method trace_memory_usage

memory_profiler.py:791–811  ·  view source on GitHub ↗

Callback for sys.settrace

(self, frame, event, arg)

Source from the content-addressed store, hash-verified

789 self.disable()
790
791 def trace_memory_usage(self, frame, event, arg):
792 """Callback for sys.settrace"""
793 if frame.f_code in self.code_map:
794 if event == 'call':
795 # "call" event just saves the lineno but not the memory
796 self.prevlines.append(frame.f_lineno)
797 elif event == 'line':
798 # trace needs current line and previous line
799 self.code_map.trace(frame.f_code, self.prevlines[-1], self.prev_lineno)
800 # saving previous line
801 self.prev_lineno = self.prevlines[-1]
802 self.prevlines[-1] = frame.f_lineno
803 elif event == 'return':
804 lineno = self.prevlines.pop()
805 self.code_map.trace(frame.f_code, lineno, self.prev_lineno)
806 self.prev_lineno = lineno
807
808 if self._original_trace_function is not None:
809 self._original_trace_function(frame, event, arg)
810
811 return self.trace_memory_usage
812
813 def trace_max_mem(self, frame, event, arg):
814 # run into PDB as soon as memory is higher than MAX_MEM

Callers

nothing calls this directly

Calls 1

traceMethod · 0.80

Tested by

no test coverage detected