gitextract_sf0scbj0/ ├── .babelrc ├── .bumpversion.cfg ├── .clang-format ├── .devcontainer/ │ ├── devcontainer.json │ └── tutorials/ │ └── devcontainer.json ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── ---bug-report.yaml │ │ ├── ---feature-request.yaml │ │ └── config.yml │ ├── dependabot.yml │ └── workflows/ │ ├── build.yml │ ├── build_wheels.yml │ ├── coverage.yml │ ├── docs.yml │ ├── news-check.yml │ ├── sanity-check.yml │ └── test_uv_python.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── MANIFEST.in ├── NEWS.rst ├── README.md ├── asv.conf.json ├── benchmarks/ │ ├── __init__.py │ ├── benchmarking/ │ │ ├── __main__.py │ │ ├── cases/ │ │ │ ├── __init__.py │ │ │ ├── async_tree_base.py │ │ │ ├── async_tree_memray.py │ │ │ ├── deltablue_base.py │ │ │ ├── deltablue_memray.py │ │ │ ├── docutils_data/ │ │ │ │ └── docs/ │ │ │ │ ├── api/ │ │ │ │ │ ├── publisher.txt │ │ │ │ │ ├── runtime-settings.txt │ │ │ │ │ └── transforms.txt │ │ │ │ ├── dev/ │ │ │ │ │ ├── distributing.txt │ │ │ │ │ ├── enthought-plan.txt │ │ │ │ │ ├── enthought-rfp.txt │ │ │ │ │ ├── hacking.txt │ │ │ │ │ ├── policies.txt │ │ │ │ │ ├── pysource.txt │ │ │ │ │ ├── release.txt │ │ │ │ │ ├── repository.txt │ │ │ │ │ ├── rst/ │ │ │ │ │ │ ├── alternatives.txt │ │ │ │ │ │ └── problems.txt │ │ │ │ │ ├── runtime-settings-processing.txt │ │ │ │ │ ├── semantics.txt │ │ │ │ │ ├── testing.txt │ │ │ │ │ ├── todo.txt │ │ │ │ │ └── website.txt │ │ │ │ └── index.txt │ │ │ ├── docutils_html_base.py │ │ │ ├── docutils_html_memray.py │ │ │ ├── fannkuch_base.py │ │ │ ├── fannkuch_memray.py │ │ │ ├── go_base.py │ │ │ ├── go_memray.py │ │ │ ├── hexion_base.py │ │ │ ├── hexion_memray.py │ │ │ ├── json_dumps_base.py │ │ │ ├── json_dumps_memray.py │ │ │ ├── json_loads_base.py │ │ │ ├── json_loads_memray.py │ │ │ ├── mdp_base.py │ │ │ ├── mdp_memray.py │ │ │ ├── meteor_context_base.py │ │ │ ├── meteor_context_memray.py │ │ │ ├── nbody_base.py │ │ │ ├── nbody_memray.py │ │ │ ├── nqueens_base.py │ │ │ ├── nqueens_memray.py │ │ │ ├── pickles_base.py │ │ │ ├── pickles_memray.py │ │ │ ├── pprint_format_base.py │ │ │ ├── pprint_format_memray.py │ │ │ ├── raytrace_base.py │ │ │ ├── raytrace_memray.py │ │ │ ├── regex_dna_base.py │ │ │ ├── regex_dna_memray.py │ │ │ ├── regex_effbot_base.py │ │ │ ├── regex_effbot_memray.py │ │ │ ├── regex_v8_base.py │ │ │ ├── regex_v8_memray.py │ │ │ ├── spectral_norm_base.py │ │ │ ├── spectral_norm_memray.py │ │ │ ├── sqlite_synth_base.py │ │ │ ├── sqlite_synth_memray.py │ │ │ ├── telco_base.py │ │ │ ├── telco_data/ │ │ │ │ └── telco-bench.b │ │ │ └── telco_memray.py │ │ └── plot.py │ ├── benchmarks.py │ └── requirements.txt ├── docs/ │ ├── _static/ │ │ ├── css/ │ │ │ └── custom.css │ │ ├── flamegraphs/ │ │ │ └── .gitattributes │ │ └── js/ │ │ └── custom.js │ ├── _templates/ │ │ └── index.html │ ├── api.rst │ ├── attach.rst │ ├── conf.py │ ├── examples/ │ │ ├── README.rst │ │ ├── fibonacci/ │ │ │ └── fib.py │ │ ├── mandelbrot/ │ │ │ ├── mandelbrot-threaded.py │ │ │ ├── mandelbrot.py │ │ │ └── requirements.txt │ │ ├── nbody/ │ │ │ ├── example.py │ │ │ └── requirements.txt │ │ └── sqlite/ │ │ └── example.py │ ├── flamegraph.rst │ ├── getting_started.rst │ ├── index.rst │ ├── jupyter_magic.rst │ ├── licenses.rst │ ├── live.rst │ ├── manpage.rst │ ├── memory.rst │ ├── native_mode.rst │ ├── overview.rst │ ├── performance.rst │ ├── python_allocators.rst │ ├── run.rst │ ├── stats.rst │ ├── summary.rst │ ├── supported_environments.rst │ ├── table.rst │ ├── temporary_allocations.rst │ ├── transform.rst │ ├── tree.rst │ └── tutorials/ │ ├── 1.rst │ ├── 2.rst │ ├── 3.rst │ ├── Dockerfile │ ├── additional_features.rst │ ├── exercise_1/ │ │ ├── __init__.py │ │ └── fibonacci.py │ ├── exercise_2/ │ │ ├── __init__.py │ │ └── holding_onto_memory.py │ ├── exercise_3/ │ │ ├── __init__.py │ │ └── lru_cache.py │ ├── index.rst │ ├── requirements-tutorial.txt │ ├── solutions/ │ │ ├── exercise_1/ │ │ │ └── fibonacci.py │ │ ├── exercise_2/ │ │ │ └── holding_onto_memory.py │ │ └── exercise_3/ │ │ └── lru_cache.py │ └── tests/ │ ├── __init__.py │ ├── test_exercise_1.py │ ├── test_exercise_2.py │ └── test_exercise_3.py ├── news/ │ └── .gitignore ├── package.json ├── pyproject.toml ├── requirements-docs.txt ├── requirements-extra.txt ├── requirements-test.txt ├── setup.py ├── src/ │ ├── memray/ │ │ ├── __init__.py │ │ ├── __init__.pyi │ │ ├── __main__.py │ │ ├── _destination.py │ │ ├── _errors.py │ │ ├── _ipython/ │ │ │ ├── __init__.py │ │ │ └── flamegraph.py │ │ ├── _memray/ │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.pxd │ │ │ ├── algorithm.pxd │ │ │ ├── alloc.h │ │ │ ├── alloc.pxd │ │ │ ├── compat.cpp │ │ │ ├── compat.h │ │ │ ├── elf_shenanigans.cpp │ │ │ ├── elf_utils.h │ │ │ ├── exceptions.h │ │ │ ├── frame_tree.h │ │ │ ├── hooks.cpp │ │ │ ├── hooks.h │ │ │ ├── hooks.pxd │ │ │ ├── inject.cpp │ │ │ ├── linker_shenanigans.h │ │ │ ├── logging.cpp │ │ │ ├── logging.h │ │ │ ├── logging.pxd │ │ │ ├── lz4_stream.h │ │ │ ├── macho_shenanigans.cpp │ │ │ ├── macho_utils.h │ │ │ ├── native_resolver.cpp │ │ │ ├── native_resolver.h │ │ │ ├── native_resolver.pxd │ │ │ ├── pthread.pxd │ │ │ ├── python_helpers.cpp │ │ │ ├── python_helpers.h │ │ │ ├── record_reader.cpp │ │ │ ├── record_reader.h │ │ │ ├── record_reader.pxd │ │ │ ├── record_writer.cpp │ │ │ ├── record_writer.h │ │ │ ├── record_writer.pxd │ │ │ ├── records.cpp │ │ │ ├── records.h │ │ │ ├── records.pxd │ │ │ ├── sink.cpp │ │ │ ├── sink.h │ │ │ ├── sink.pxd │ │ │ ├── snapshot.cpp │ │ │ ├── snapshot.h │ │ │ ├── snapshot.pxd │ │ │ ├── socket_reader_thread.cpp │ │ │ ├── socket_reader_thread.h │ │ │ ├── socket_reader_thread.pxd │ │ │ ├── source.cpp │ │ │ ├── source.h │ │ │ ├── source.pxd │ │ │ ├── tracking_api.cpp │ │ │ ├── tracking_api.h │ │ │ └── tracking_api.pxd │ │ ├── _memray.pyi │ │ ├── _memray.pyx │ │ ├── _memray_test_utils.pyx │ │ ├── _metadata.py │ │ ├── _stats.py │ │ ├── _stats.pyi │ │ ├── _test.py │ │ ├── _test_utils.pyi │ │ ├── _thread_name_interceptor.py │ │ ├── _version.py │ │ ├── commands/ │ │ │ ├── __init__.py │ │ │ ├── _attach.gdb │ │ │ ├── _attach.lldb │ │ │ ├── attach.py │ │ │ ├── common.py │ │ │ ├── flamegraph.py │ │ │ ├── live.py │ │ │ ├── parse.py │ │ │ ├── run.py │ │ │ ├── stats.py │ │ │ ├── summary.py │ │ │ ├── table.py │ │ │ ├── transform.py │ │ │ └── tree.py │ │ ├── py.typed │ │ └── reporters/ │ │ ├── __init__.py │ │ ├── _textual_hacks.py │ │ ├── assets/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── common.js │ │ │ ├── common.test.js │ │ │ ├── flamegraph.js │ │ │ ├── flamegraph_common.js │ │ │ ├── table.js │ │ │ └── temporal_flamegraph.js │ │ ├── common.py │ │ ├── flamegraph.py │ │ ├── frame_tools.py │ │ ├── stats.py │ │ ├── summary.py │ │ ├── table.py │ │ ├── templates/ │ │ │ ├── __init__.py │ │ │ ├── assets/ │ │ │ │ ├── .gitattributes │ │ │ │ ├── flamegraph.css │ │ │ │ ├── flamegraph.js │ │ │ │ ├── flamegraph_common.js │ │ │ │ ├── table.css │ │ │ │ ├── table.js │ │ │ │ └── temporal_flamegraph.js │ │ │ ├── base.html │ │ │ ├── classic_base.html │ │ │ ├── flamegraph.html │ │ │ ├── table.html │ │ │ └── temporal_flamegraph.html │ │ ├── transform.py │ │ ├── tree.css │ │ ├── tree.py │ │ ├── tui.css │ │ └── tui.py │ └── vendor/ │ ├── libbacktrace/ │ │ ├── .gitignore │ │ ├── Isaac.Newton-Opticks.txt │ │ ├── LICENSE │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── README.md │ │ ├── aclocal.m4 │ │ ├── alloc.c │ │ ├── allocfail.c │ │ ├── allocfail.sh │ │ ├── atomic.c │ │ ├── backtrace-supported.h.in │ │ ├── backtrace.c │ │ ├── backtrace.h │ │ ├── btest.c │ │ ├── compile │ │ ├── config/ │ │ │ ├── enable.m4 │ │ │ ├── lead-dot.m4 │ │ │ ├── libtool.m4 │ │ │ ├── ltoptions.m4 │ │ │ ├── ltsugar.m4 │ │ │ ├── ltversion.m4 │ │ │ ├── lt~obsolete.m4 │ │ │ ├── multi.m4 │ │ │ ├── override.m4 │ │ │ ├── unwind_ipinfo.m4 │ │ │ └── warnings.m4 │ │ ├── config.guess │ │ ├── config.h.in │ │ ├── config.sub │ │ ├── configure │ │ ├── configure.ac │ │ ├── debuginfod_support.h │ │ ├── dwarf.c │ │ ├── edtest.c │ │ ├── edtest2.c │ │ ├── elf.c │ │ ├── fileline.c │ │ ├── filenames.h │ │ ├── filetype.awk │ │ ├── install-debuginfo-for-buildid.sh.in │ │ ├── install-sh │ │ ├── instrumented_alloc.c │ │ ├── internal.h │ │ ├── ltmain.sh │ │ ├── macho.c │ │ ├── missing │ │ ├── mmap.c │ │ ├── mmapio.c │ │ ├── move-if-change │ │ ├── mtest.c │ │ ├── nounwind.c │ │ ├── pecoff.c │ │ ├── posix.c │ │ ├── print.c │ │ ├── read.c │ │ ├── simple.c │ │ ├── sort.c │ │ ├── state.c │ │ ├── stest.c │ │ ├── test-driver │ │ ├── test_format.c │ │ ├── testlib.c │ │ ├── testlib.h │ │ ├── ttest.c │ │ ├── unittest.c │ │ ├── unknown.c │ │ ├── xcoff.c │ │ ├── xztest.c │ │ ├── zstdtest.c │ │ └── ztest.c │ ├── libbacktrace-patches/ │ │ ├── 0001-Expose-some-internal-functions-of-libbacktrace.patch │ │ └── 0002-Add-debuginfod-support-to-libbacktrace.patch │ └── regenerate_libbacktrace.sh ├── tests/ │ ├── __init__.py │ ├── conftest.py │ ├── integration/ │ │ ├── __init__.py │ │ ├── misbehaving_extension/ │ │ │ ├── __init__.py │ │ │ ├── misbehaving.cpp │ │ │ └── setup.py │ │ ├── multithreaded_extension/ │ │ │ ├── __init__.py │ │ │ ├── main.py │ │ │ ├── setup.py │ │ │ └── testext.cpp │ │ ├── native_extension/ │ │ │ ├── main.py │ │ │ ├── native_ext.c │ │ │ └── setup.py │ │ ├── rpath_extension/ │ │ │ ├── ext.c │ │ │ ├── setup.py │ │ │ └── sharedlibs/ │ │ │ └── sharedlib.c │ │ ├── test_api.py │ │ ├── test_attach.py │ │ ├── test_extensions.py │ │ ├── test_greenlet.py │ │ ├── test_ipython.py │ │ ├── test_main.py │ │ ├── test_native_tracking.py │ │ ├── test_object_tracking.py │ │ ├── test_processes.py │ │ ├── test_record_writer.py │ │ ├── test_socket.py │ │ ├── test_threads.py │ │ ├── test_tracing.py │ │ └── test_tracking.py │ ├── test_utils.py │ ├── unit/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_allocation_lifetime_aggregator.py │ │ ├── test_attach.py │ │ ├── test_cli.py │ │ ├── test_flamegraph_reporter.py │ │ ├── test_frame_tools.py │ │ ├── test_high_water_mark_aggregator.py │ │ ├── test_highwatermark_command.py │ │ ├── test_reader.py │ │ ├── test_stats_reporter.py │ │ ├── test_summary_reporter.py │ │ ├── test_table_reporter.py │ │ ├── test_templates.py │ │ ├── test_tracker.py │ │ ├── test_transform_reporter.py │ │ ├── test_tree_reporter.py │ │ └── test_tui_reporter.py │ └── utils.py ├── valgrind.supp └── webpack.config.js