def _format_row(key, val): """Format a stats row as a string.""" n_calls, maxrss_kb, total_mem_kb = val n_calls_str = martian.padded_print('ncalls', n_calls) maxrss_kb_str = martian.padded_print('maxrss(kb)', maxrss_kb) total_mem_kb_str = martian.padded_print('totalmem(kb)', total_mem_kb) per_call_kb_str = martian.padded_print( 'percall(kb)', total_mem_kb / n_calls if n_calls > 0 else 0) func_str = _MemoryProfile._format_func_name(key) return '%s %s %s %s %s\n' % ( n_calls_str, maxrss_kb_str, total_mem_kb_str, per_call_kb_str, func_str)
def _format_func_name(key): """Format the function name from the key info.""" filename, lineno, name, caller_filename, caller_lineno, caller_name, ctype = key func_field_name = 'filename:lineno(function) <--- caller_filename:'\ 'lineno(caller_function)' func_caller_str = '%s:%d(%s)' % (caller_filename, caller_lineno, caller_name) if ctype: if filename is None: func_name_str = name else: func_name_str = '%s.%s' % (filename, name) return martian.padded_print( func_field_name, '{%s} <--- %s' % (func_name_str, func_caller_str)) return martian.padded_print( func_field_name, '%s:%d(%s) <--- %s' % (filename, lineno, name, func_caller_str))