PHP 8.2.30
Preview: pycore_tracemalloc.h Size: 4.43 KB
//opt/alt/python313/include/python3.13/internal/pycore_tracemalloc.h

#ifndef Py_INTERNAL_TRACEMALLOC_H
#define Py_INTERNAL_TRACEMALLOC_H
#ifdef __cplusplus
extern "C" {
#endif

#ifndef Py_BUILD_CORE
#  error "this header requires Py_BUILD_CORE define"
#endif

#include "pycore_hashtable.h"     // _Py_hashtable_t


/* Trace memory blocks allocated by PyMem_RawMalloc() */
#define TRACE_RAW_MALLOC


struct _PyTraceMalloc_Config {
    /* Module initialized?
       Variable protected by the GIL */
    enum {
        TRACEMALLOC_NOT_INITIALIZED,
        TRACEMALLOC_INITIALIZED,
        TRACEMALLOC_FINALIZED
    } initialized;

    /* Is tracemalloc tracing memory allocations?
       Variable protected by the GIL */
    int tracing;

    /* limit of the number of frames in a traceback, 1 by default.
       Variable protected by the GIL. */
    int max_nframe;
};


/* Pack the frame_t structure to reduce the memory footprint on 64-bit
   architectures: 12 bytes instead of 16. */
#if defined(_MSC_VER)
#pragma pack(push, 4)
#endif

struct
#ifdef __GNUC__
__attribute__((packed))
#endif
tracemalloc_frame {
    /* filename cannot be NULL: "<unknown>" is used if the Python frame
       filename is NULL */
    PyObject *filename;
    unsigned int lineno;
};
#ifdef _MSC_VER
#pragma pack(pop)
#endif

struct tracemalloc_traceback {
    Py_uhash_t hash;
    /* Number of frames stored */
    uint16_t nframe;
    /* Total number of frames the traceback had */
    uint16_t total_nframe;
    struct tracemalloc_frame frames[1];
};


struct _tracemalloc_runtime_state {
    struct _PyTraceMalloc_Config config;

    /* Protected by the GIL */
    struct {
        PyMemAllocatorEx mem;
        PyMemAllocatorEx raw;
        PyMemAllocatorEx obj;
    } allocators;

#if defined(TRACE_RAW_MALLOC)
    PyThread_type_lock tables_lock;
#endif
    /* Size in bytes of currently traced memory.
       Protected by TABLES_LOCK(). */
    size_t traced_memory;
    /* Peak size in bytes of traced memory.
       Protected by TABLES_LOCK(). */
    size_t peak_traced_memory;
    /* Hash table used as a set to intern filenames:
       PyObject* => PyObject*.
       Protected by the GIL */
    _Py_hashtable_t *filenames;
    /* Buffer to store a new traceback in traceback_new().
       Protected by the GIL. */
    struct tracemalloc_traceback *traceback;
    /* Hash table used as a set to intern tracebacks:
       traceback_t* => traceback_t*
       Protected by the GIL */
    _Py_hashtable_t *tracebacks;
    /* pointer (void*) => trace (trace_t*).
       Protected by TABLES_LOCK(). */
    _Py_hashtable_t *traces;
    /* domain (unsigned int) => traces (_Py_hashtable_t).
       Protected by TABLES_LOCK(). */
    _Py_hashtable_t *domains;

    struct tracemalloc_traceback empty_traceback;

    Py_tss_t reentrant_key;
};

#define _tracemalloc_runtime_state_INIT \
    { \
        .config = { \
            .initialized = TRACEMALLOC_NOT_INITIALIZED, \
            .tracing = 0, \
            .max_nframe = 1, \
        }, \
        .reentrant_key = Py_tss_NEEDS_INIT, \
    }


// Get the traceback where a memory block was allocated.
//
// Return a tuple of (filename: str, lineno: int) tuples.
//
// Return None if the tracemalloc module is disabled or if the memory block
// is not tracked by tracemalloc.
//
// Raise an exception and return NULL on error.
//
// Export for '_testinternalcapi' shared extension.
PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback(
    unsigned int domain,
    uintptr_t ptr);

/* Return non-zero if tracemalloc is tracing */
extern int _PyTraceMalloc_IsTracing(void);

/* Clear the tracemalloc traces */
extern void _PyTraceMalloc_ClearTraces(void);

/* Clear the tracemalloc traces */
extern PyObject* _PyTraceMalloc_GetTraces(void);

/* Clear tracemalloc traceback for an object */
extern PyObject* _PyTraceMalloc_GetObjectTraceback(PyObject *obj);

/* Initialize tracemalloc */
extern PyStatus _PyTraceMalloc_Init(void);

/* Start tracemalloc */
extern int _PyTraceMalloc_Start(int max_nframe);

/* Stop tracemalloc */
extern void _PyTraceMalloc_Stop(void);

/* Get the tracemalloc traceback limit */
extern int _PyTraceMalloc_GetTracebackLimit(void);

/* Get the memory usage of tracemalloc in bytes */
extern size_t _PyTraceMalloc_GetMemory(void);

/* Get the current size and peak size of traced memory blocks as a 2-tuple */
extern PyObject* _PyTraceMalloc_GetTracedMemory(void);

/* Set the peak size of traced memory blocks to the current size */
extern void _PyTraceMalloc_ResetPeak(void);

#ifdef __cplusplus
}
#endif
#endif  // !Py_INTERNAL_TRACEMALLOC_H

Directory Contents

Dirs: 1 × Files: 122

Name Size Perms Modified Actions
mimalloc DIR
- drwxr-xr-x 2026-02-10 08:09:23
Edit Download
1.87 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.96 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
30.78 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
6.62 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.40 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.81 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.88 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.57 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.05 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.98 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.84 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.99 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
397 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.03 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.10 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.83 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
19.71 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.41 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.66 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
588 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.64 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.15 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
7.78 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.84 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
543 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.98 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
732 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.69 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
685 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.11 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
900 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.19 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
9.25 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.65 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.46 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.45 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
480 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.08 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.70 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.50 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.66 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
859 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
490 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.14 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.02 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
115.04 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
26.08 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.65 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.26 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
515 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
7.55 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.96 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
6.23 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.11 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.28 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
14.72 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.71 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
527 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.82 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.36 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.34 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
9.73 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
427 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.60 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.27 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.54 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
435 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
27.28 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.13 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.33 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
942 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
26.78 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.89 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
82.88 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.07 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.11 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.27 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.04 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
658 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.79 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
7.87 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
510 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.84 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.75 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.36 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.40 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.24 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.44 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
9.73 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
420 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
758 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.95 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.39 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
346 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.86 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.74 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
45.72 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.69 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
951 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.86 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
369 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
5.06 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1013 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
963 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.47 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.15 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
11.52 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
2.93 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.54 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
4.43 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
1.32 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
820 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
8.67 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
924 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
958 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
12.96 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
129.04 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
742 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
10.06 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
38.72 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download
840 B lrw-r--r-- 2025-12-05 16:06:33
Edit Download
3.80 KB lrw-r--r-- 2025-12-05 16:06:33
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).