memray flamegraph report
Python Allocator: pymalloc
Reset
Memray run stats
Command line: /home/airflow/.local/bin/memray run read_large_logs.py --dag_id large_task_logs --task_id one --dag_run_id manual__2024-12-14T16:40:22.503198+00:00
Start time: 2024-12-19 09:58:04.621000+00:00
End time: 2024-12-19 09:59:57.617000+00:00
Duration: 0:01:52.996000
Total number of allocations: 104770247
Total number of frames seen: 11185
Peak memory usage: 240.4 MiB
Python allocator: pymalloc
How to interpret flamegraph reports

The flame graph displays a snapshot of memory used across stack frames at the time when the memory usage was at its peak.

The vertical ordering of the stack frames corresponds to the order of function calls, from parent to children. The horizontal ordering does not represent the passage of time in the application: they simply represent child frames in arbitrary order.

On the flame graph, each bar represents a stack frame and shows the code which triggered the memory allocation. Hovering over the frame you can also see the overall memory allocated in the given frame and its children and the number of times allocations have occurred.

The Show/Hide Irrelevant Frames button can be used to reveal and hide frames which contain allocations in code which might not be relevant for the application. These include frames in the CPython eval loop as well as frames introduced by memray during the analysis.

You can find more information in the documentation.

Resident set size over time