python (3.12.0)

(root)/
include/
python3.12/
tracemalloc.h
       1  #ifndef Py_TRACEMALLOC_H
       2  #define Py_TRACEMALLOC_H
       3  
       4  #ifndef Py_LIMITED_API
       5  /* Track an allocated memory block in the tracemalloc module.
       6     Return 0 on success, return -1 on error (failed to allocate memory to store
       7     the trace).
       8  
       9     Return -2 if tracemalloc is disabled.
      10  
      11     If memory block is already tracked, update the existing trace. */
      12  PyAPI_FUNC(int) PyTraceMalloc_Track(
      13      unsigned int domain,
      14      uintptr_t ptr,
      15      size_t size);
      16  
      17  /* Untrack an allocated memory block in the tracemalloc module.
      18     Do nothing if the block was not tracked.
      19  
      20     Return -2 if tracemalloc is disabled, otherwise return 0. */
      21  PyAPI_FUNC(int) PyTraceMalloc_Untrack(
      22      unsigned int domain,
      23      uintptr_t ptr);
      24  
      25  /* Get the traceback where a memory block was allocated.
      26  
      27     Return a tuple of (filename: str, lineno: int) tuples.
      28  
      29     Return None if the tracemalloc module is disabled or if the memory block
      30     is not tracked by tracemalloc.
      31  
      32     Raise an exception and return NULL on error. */
      33  PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback(
      34      unsigned int domain,
      35      uintptr_t ptr);
      36  
      37  /* Return non-zero if tracemalloc is tracing */
      38  PyAPI_FUNC(int) _PyTraceMalloc_IsTracing(void);
      39  
      40  /* Clear the tracemalloc traces */
      41  PyAPI_FUNC(void) _PyTraceMalloc_ClearTraces(void);
      42  
      43  /* Clear the tracemalloc traces */
      44  PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetTraces(void);
      45  
      46  /* Clear tracemalloc traceback for an object */
      47  PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetObjectTraceback(PyObject *obj);
      48  
      49  /* Initialize tracemalloc */
      50  PyAPI_FUNC(int) _PyTraceMalloc_Init(void);
      51  
      52  /* Start tracemalloc */
      53  PyAPI_FUNC(int) _PyTraceMalloc_Start(int max_nframe);
      54  
      55  /* Stop tracemalloc */
      56  PyAPI_FUNC(void) _PyTraceMalloc_Stop(void);
      57  
      58  /* Get the tracemalloc traceback limit */
      59  PyAPI_FUNC(int) _PyTraceMalloc_GetTracebackLimit(void);
      60  
      61  /* Get the memory usage of tracemalloc in bytes */
      62  PyAPI_FUNC(size_t) _PyTraceMalloc_GetMemory(void);
      63  
      64  /* Get the current size and peak size of traced memory blocks as a 2-tuple */
      65  PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetTracedMemory(void);
      66  
      67  /* Set the peak size of traced memory blocks to the current size */
      68  PyAPI_FUNC(void) _PyTraceMalloc_ResetPeak(void);
      69  
      70  #endif
      71  
      72  #endif /* !Py_TRACEMALLOC_H */