1 /*[clinic input] 2 preserve 3 [clinic start generated code]*/ 4 5 PyDoc_STRVAR(_tracemalloc_is_tracing__doc__, 6 "is_tracing($module, /)\n" 7 "--\n" 8 "\n" 9 "Return True if the tracemalloc module is tracing Python memory allocations."); 10 11 #define _TRACEMALLOC_IS_TRACING_METHODDEF \ 12 {"is_tracing", (PyCFunction)_tracemalloc_is_tracing, METH_NOARGS, _tracemalloc_is_tracing__doc__}, 13 14 static PyObject * 15 _tracemalloc_is_tracing_impl(PyObject *module); 16 17 static PyObject * 18 _tracemalloc_is_tracing(PyObject *module, PyObject *Py_UNUSED(ignored)) 19 { 20 return _tracemalloc_is_tracing_impl(module); 21 } 22 23 PyDoc_STRVAR(_tracemalloc_clear_traces__doc__, 24 "clear_traces($module, /)\n" 25 "--\n" 26 "\n" 27 "Clear traces of memory blocks allocated by Python."); 28 29 #define _TRACEMALLOC_CLEAR_TRACES_METHODDEF \ 30 {"clear_traces", (PyCFunction)_tracemalloc_clear_traces, METH_NOARGS, _tracemalloc_clear_traces__doc__}, 31 32 static PyObject * 33 _tracemalloc_clear_traces_impl(PyObject *module); 34 35 static PyObject * 36 _tracemalloc_clear_traces(PyObject *module, PyObject *Py_UNUSED(ignored)) 37 { 38 return _tracemalloc_clear_traces_impl(module); 39 } 40 41 PyDoc_STRVAR(_tracemalloc__get_traces__doc__, 42 "_get_traces($module, /)\n" 43 "--\n" 44 "\n" 45 "Get traces of all memory blocks allocated by Python.\n" 46 "\n" 47 "Return a list of (size: int, traceback: tuple) tuples.\n" 48 "traceback is a tuple of (filename: str, lineno: int) tuples.\n" 49 "\n" 50 "Return an empty list if the tracemalloc module is disabled."); 51 52 #define _TRACEMALLOC__GET_TRACES_METHODDEF \ 53 {"_get_traces", (PyCFunction)_tracemalloc__get_traces, METH_NOARGS, _tracemalloc__get_traces__doc__}, 54 55 static PyObject * 56 _tracemalloc__get_traces_impl(PyObject *module); 57 58 static PyObject * 59 _tracemalloc__get_traces(PyObject *module, PyObject *Py_UNUSED(ignored)) 60 { 61 return _tracemalloc__get_traces_impl(module); 62 } 63 64 PyDoc_STRVAR(_tracemalloc__get_object_traceback__doc__, 65 "_get_object_traceback($module, obj, /)\n" 66 "--\n" 67 "\n" 68 "Get the traceback where the Python object obj was allocated.\n" 69 "\n" 70 "Return a tuple of (filename: str, lineno: int) tuples.\n" 71 "Return None if the tracemalloc module is disabled or did not\n" 72 "trace the allocation of the object."); 73 74 #define _TRACEMALLOC__GET_OBJECT_TRACEBACK_METHODDEF \ 75 {"_get_object_traceback", (PyCFunction)_tracemalloc__get_object_traceback, METH_O, _tracemalloc__get_object_traceback__doc__}, 76 77 PyDoc_STRVAR(_tracemalloc_start__doc__, 78 "start($module, nframe=1, /)\n" 79 "--\n" 80 "\n" 81 "Start tracing Python memory allocations.\n" 82 "\n" 83 "Also set the maximum number of frames stored in the traceback of a\n" 84 "trace to nframe."); 85 86 #define _TRACEMALLOC_START_METHODDEF \ 87 {"start", (PyCFunction)_tracemalloc_start, METH_FASTCALL, _tracemalloc_start__doc__}, 88 89 static PyObject * 90 _tracemalloc_start_impl(PyObject *module, int nframe); 91 92 static PyObject * 93 _tracemalloc_start(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 94 { 95 PyObject *return_value = NULL; 96 int nframe = 1; 97 98 if (!_PyArg_ParseStack(args, nargs, "|i:start", 99 &nframe)) { 100 goto exit; 101 } 102 return_value = _tracemalloc_start_impl(module, nframe); 103 104 exit: 105 return return_value; 106 } 107 108 PyDoc_STRVAR(_tracemalloc_stop__doc__, 109 "stop($module, /)\n" 110 "--\n" 111 "\n" 112 "Stop tracing Python memory allocations.\n" 113 "\n" 114 "Also clear traces of memory blocks allocated by Python."); 115 116 #define _TRACEMALLOC_STOP_METHODDEF \ 117 {"stop", (PyCFunction)_tracemalloc_stop, METH_NOARGS, _tracemalloc_stop__doc__}, 118 119 static PyObject * 120 _tracemalloc_stop_impl(PyObject *module); 121 122 static PyObject * 123 _tracemalloc_stop(PyObject *module, PyObject *Py_UNUSED(ignored)) 124 { 125 return _tracemalloc_stop_impl(module); 126 } 127 128 PyDoc_STRVAR(_tracemalloc_get_traceback_limit__doc__, 129 "get_traceback_limit($module, /)\n" 130 "--\n" 131 "\n" 132 "Get the maximum number of frames stored in the traceback of a trace.\n" 133 "\n" 134 "By default, a trace of an allocated memory block only stores\n" 135 "the most recent frame: the limit is 1."); 136 137 #define _TRACEMALLOC_GET_TRACEBACK_LIMIT_METHODDEF \ 138 {"get_traceback_limit", (PyCFunction)_tracemalloc_get_traceback_limit, METH_NOARGS, _tracemalloc_get_traceback_limit__doc__}, 139 140 static PyObject * 141 _tracemalloc_get_traceback_limit_impl(PyObject *module); 142 143 static PyObject * 144 _tracemalloc_get_traceback_limit(PyObject *module, PyObject *Py_UNUSED(ignored)) 145 { 146 return _tracemalloc_get_traceback_limit_impl(module); 147 } 148 149 PyDoc_STRVAR(_tracemalloc_get_tracemalloc_memory__doc__, 150 "get_tracemalloc_memory($module, /)\n" 151 "--\n" 152 "\n" 153 "Get the memory usage in bytes of the tracemalloc module.\n" 154 "\n" 155 "This memory is used internally to trace memory allocations."); 156 157 #define _TRACEMALLOC_GET_TRACEMALLOC_MEMORY_METHODDEF \ 158 {"get_tracemalloc_memory", (PyCFunction)_tracemalloc_get_tracemalloc_memory, METH_NOARGS, _tracemalloc_get_tracemalloc_memory__doc__}, 159 160 static PyObject * 161 _tracemalloc_get_tracemalloc_memory_impl(PyObject *module); 162 163 static PyObject * 164 _tracemalloc_get_tracemalloc_memory(PyObject *module, PyObject *Py_UNUSED(ignored)) 165 { 166 return _tracemalloc_get_tracemalloc_memory_impl(module); 167 } 168 169 PyDoc_STRVAR(_tracemalloc_get_traced_memory__doc__, 170 "get_traced_memory($module, /)\n" 171 "--\n" 172 "\n" 173 "Get the current size and peak size of memory blocks traced by tracemalloc.\n" 174 "\n" 175 "Returns a tuple: (current: int, peak: int)."); 176 177 #define _TRACEMALLOC_GET_TRACED_MEMORY_METHODDEF \ 178 {"get_traced_memory", (PyCFunction)_tracemalloc_get_traced_memory, METH_NOARGS, _tracemalloc_get_traced_memory__doc__}, 179 180 static PyObject * 181 _tracemalloc_get_traced_memory_impl(PyObject *module); 182 183 static PyObject * 184 _tracemalloc_get_traced_memory(PyObject *module, PyObject *Py_UNUSED(ignored)) 185 { 186 return _tracemalloc_get_traced_memory_impl(module); 187 } 188 /*[clinic end generated code: output=d98afded69c89d52 input=a9049054013a1b77]*/ 189