(root)/
Python-3.11.7/
Modules/
clinic/
_tracemalloc.c.h
       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_CAST(_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_CheckPositional("start", nargs, 0, 1)) {
      99          goto exit;
     100      }
     101      if (nargs < 1) {
     102          goto skip_optional;
     103      }
     104      nframe = _PyLong_AsInt(args[0]);
     105      if (nframe == -1 && PyErr_Occurred()) {
     106          goto exit;
     107      }
     108  skip_optional:
     109      return_value = _tracemalloc_start_impl(module, nframe);
     110  
     111  exit:
     112      return return_value;
     113  }
     114  
     115  PyDoc_STRVAR(_tracemalloc_stop__doc__,
     116  "stop($module, /)\n"
     117  "--\n"
     118  "\n"
     119  "Stop tracing Python memory allocations.\n"
     120  "\n"
     121  "Also clear traces of memory blocks allocated by Python.");
     122  
     123  #define _TRACEMALLOC_STOP_METHODDEF    \
     124      {"stop", (PyCFunction)_tracemalloc_stop, METH_NOARGS, _tracemalloc_stop__doc__},
     125  
     126  static PyObject *
     127  _tracemalloc_stop_impl(PyObject *module);
     128  
     129  static PyObject *
     130  _tracemalloc_stop(PyObject *module, PyObject *Py_UNUSED(ignored))
     131  {
     132      return _tracemalloc_stop_impl(module);
     133  }
     134  
     135  PyDoc_STRVAR(_tracemalloc_get_traceback_limit__doc__,
     136  "get_traceback_limit($module, /)\n"
     137  "--\n"
     138  "\n"
     139  "Get the maximum number of frames stored in the traceback of a trace.\n"
     140  "\n"
     141  "By default, a trace of an allocated memory block only stores\n"
     142  "the most recent frame: the limit is 1.");
     143  
     144  #define _TRACEMALLOC_GET_TRACEBACK_LIMIT_METHODDEF    \
     145      {"get_traceback_limit", (PyCFunction)_tracemalloc_get_traceback_limit, METH_NOARGS, _tracemalloc_get_traceback_limit__doc__},
     146  
     147  static PyObject *
     148  _tracemalloc_get_traceback_limit_impl(PyObject *module);
     149  
     150  static PyObject *
     151  _tracemalloc_get_traceback_limit(PyObject *module, PyObject *Py_UNUSED(ignored))
     152  {
     153      return _tracemalloc_get_traceback_limit_impl(module);
     154  }
     155  
     156  PyDoc_STRVAR(_tracemalloc_get_tracemalloc_memory__doc__,
     157  "get_tracemalloc_memory($module, /)\n"
     158  "--\n"
     159  "\n"
     160  "Get the memory usage in bytes of the tracemalloc module.\n"
     161  "\n"
     162  "This memory is used internally to trace memory allocations.");
     163  
     164  #define _TRACEMALLOC_GET_TRACEMALLOC_MEMORY_METHODDEF    \
     165      {"get_tracemalloc_memory", (PyCFunction)_tracemalloc_get_tracemalloc_memory, METH_NOARGS, _tracemalloc_get_tracemalloc_memory__doc__},
     166  
     167  static PyObject *
     168  _tracemalloc_get_tracemalloc_memory_impl(PyObject *module);
     169  
     170  static PyObject *
     171  _tracemalloc_get_tracemalloc_memory(PyObject *module, PyObject *Py_UNUSED(ignored))
     172  {
     173      return _tracemalloc_get_tracemalloc_memory_impl(module);
     174  }
     175  
     176  PyDoc_STRVAR(_tracemalloc_get_traced_memory__doc__,
     177  "get_traced_memory($module, /)\n"
     178  "--\n"
     179  "\n"
     180  "Get the current size and peak size of memory blocks traced by tracemalloc.\n"
     181  "\n"
     182  "Returns a tuple: (current: int, peak: int).");
     183  
     184  #define _TRACEMALLOC_GET_TRACED_MEMORY_METHODDEF    \
     185      {"get_traced_memory", (PyCFunction)_tracemalloc_get_traced_memory, METH_NOARGS, _tracemalloc_get_traced_memory__doc__},
     186  
     187  static PyObject *
     188  _tracemalloc_get_traced_memory_impl(PyObject *module);
     189  
     190  static PyObject *
     191  _tracemalloc_get_traced_memory(PyObject *module, PyObject *Py_UNUSED(ignored))
     192  {
     193      return _tracemalloc_get_traced_memory_impl(module);
     194  }
     195  
     196  PyDoc_STRVAR(_tracemalloc_reset_peak__doc__,
     197  "reset_peak($module, /)\n"
     198  "--\n"
     199  "\n"
     200  "Set the peak size of memory blocks traced by tracemalloc to the current size.\n"
     201  "\n"
     202  "Do nothing if the tracemalloc module is not tracing memory allocations.");
     203  
     204  #define _TRACEMALLOC_RESET_PEAK_METHODDEF    \
     205      {"reset_peak", (PyCFunction)_tracemalloc_reset_peak, METH_NOARGS, _tracemalloc_reset_peak__doc__},
     206  
     207  static PyObject *
     208  _tracemalloc_reset_peak_impl(PyObject *module);
     209  
     210  static PyObject *
     211  _tracemalloc_reset_peak(PyObject *module, PyObject *Py_UNUSED(ignored))
     212  {
     213      return _tracemalloc_reset_peak_impl(module);
     214  }
     215  /*[clinic end generated code: output=2ae4fe05f1a340c9 input=a9049054013a1b77]*/