awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bloomberg avatar

bloomberg/memray

0
View on GitHub↗
14,885 星标·434 分支·Python·apache-2.0·9 次浏览bloomberg.github.io/memray↗

Memray

Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++ extensions. It captures memory events by hooking into the language runtime and traversing call stacks, providing a comprehensive view of how an application consumes memory. The tool is designed to minimize performance impact on the target application by using thread-local buffering and streaming data to an external process or file.

The project distinguishes itself through its ability to monitor complex, multi-threaded systems and child processes in real-time. It provides diagnostic utilities that allow developers to attach to running processes, filter memory data by specific threads, and visualize allocation patterns through interactive flame graphs. These graphs support temporal inspection, enabling users to analyze memory usage across specific time intervals during execution.

Beyond live monitoring, the tool includes mechanisms for automated memory validation and regression testing. It can detect memory leaks by identifying objects that remain in memory at the end of a session and allows developers to enforce resource consumption thresholds within continuous integration pipelines. The profiler also generates detailed statistics and hierarchical call graphs, which help pinpoint inefficient allocation patterns such as frequent, short-lived object creation.

Features

  • Memory Profiling - Analyzes and optimizes heap allocation patterns in Python applications to identify memory leaks.
  • Memory Profilers - Tracks and visualizes heap allocations in Python and native extensions to identify memory leaks.
  • Memory Profilers - Observing live memory allocation statistics in a terminal interface to understand the immediate impact of specific code operations on system resources.
  • Flame Graph Visualizers - Generates interactive flame graphs from captured profiling data to provide a visual representation of memory consumption.
  • Memory Regression - Integrates memory tracking into automated test runs to detect memory regressions or leaks.
  • Memory Leak Detection - Identifies objects remaining in memory at the end of a session to detect potential memory leaks.
  • Native Stack Unwinders - Traverses the call stack of both managed and native code frames to map memory events to specific source code locations.
  • Memory Allocation Tracers - Hooks into low-level memory allocation functions to capture and record heap allocation events.
  • Temporal Memory Profilers - Creates temporal flame graphs to visualize memory usage and allocation patterns across specific time intervals.
  • Live Process Profilers - Connects to an active application to monitor and record memory allocation patterns in real-time.
  • Memory Usage Analyzers - Fails automated tests that exceed defined memory thresholds and provides detailed breakdown of responsible functions.
  • Flame Graph Generators - Transforms raw memory allocation data into interactive flame graphs for analyzing peak memory usage.
  • Performance Regression Analyzers - Integrates memory usage checks into test suites to automatically detect and prevent performance regressions.
  • System Monitoring And Profiling - High-performance memory profiler for tracking allocations in Python.
  • Concurrent Memory Profilers - Tracks memory usage across both Python and native threads to provide a complete view of memory activity.
  • Memory Usage Analysis - Summarizes total allocations and memory distribution to help identify memory-intensive operations.
  • Performance Analysis Tools - Monitors resource consumption and identifies high-impact functions within complex software environments.
  • Real-Time Monitoring Dashboards - Displays live memory usage statistics while code executes to help observe the immediate impact of operations.
  • Child Process Memory Tracers - Automatically captures memory allocation data for child processes created via forks.
  • Concurrent Execution Monitors - Tracks and isolates memory allocation patterns across multiple threads and child processes.
  • Native Memory Lifecycle Management - Captures memory allocation data from native extensions alongside Python code.
  • Thread-Aware Memory Analyzers - Filters memory allocation data by individual threads to isolate and investigate specific memory usage patterns.
  • Allocation Frequency Analyzers - Identifies short-lived or high-frequency object allocations to help pinpoint inefficient memory usage patterns.
  • Native C Interoperability - Traces memory usage across both Python code and native C or C++ extensions.
  • Symbol Resolution Engines - Translates raw memory addresses into human-readable function names and line numbers using debug information.
  • Remote Profiling Interfaces - Connects a monitoring interface to a running application process to observe memory behavior remotely.
  • Stack Trace Hierarchy Visualizers - Displays interactive tree representations of memory allocations at peak usage to identify high-memory source locations.
  • Profiling Visualization Filters - Hides low-level implementation details or internal tool frames from visualization reports to reduce noise and focus on application-level code during performance analysis.

Star 历史

bloomberg/memray 的 Star 历史图表bloomberg/memray 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Memray 的开源替代方案

相似的开源项目,按与 Memray 的功能重合度排序。
  • brendangregg/flamegraphbrendangregg 的头像

    brendangregg/FlameGraph

    19,307在 GitHub 上查看↗

    FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments. The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by compari

    Perl
    在 GitHub 上查看↗19,307
  • kde/heaptrackKDE 的头像

    KDE/heaptrack

    4,107在 GitHub 上查看↗

    Heaptrack is a heap memory profiler and diagnostic tool for applications running on Linux. It functions as a memory leak detector and performance analysis system that records heap allocations and stack traces to identify memory hotspots and consumption patterns. The project provides a graphical heap allocation visualizer for exploring memory usage through tree views and peak memory reports. It utilizes flame graphs and allocation charts to visualize memory hotspots and assist in the detection of leaks. The toolset includes capabilities for heap memory allocation tracing and the generation of

    C++
    在 GitHub 上查看↗4,107
  • android/ndk-samplesandroid 的头像

    android/ndk-samples

    10,513在 GitHub 上查看↗

    The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act

    C++
    在 GitHub 上查看↗10,513
  • gperftools/gperftoolsgperftools 的头像

    gperftools/gperftools

    8,959在 GitHub 上查看↗

    gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing high-performance memory allocation. It provides a memory profiling toolkit for C++ applications, including a sampling CPU profiler and a heap profiler for analyzing consumption patterns. The project includes a high-performance memory allocator designed as a multi-threaded replacement for standard allocation to reduce contention and improve execution speed. It further provides a memory debugger to identify illegal memory access and double frees. The toolkit covers broad diagnostic c

    C++
    在 GitHub 上查看↗8,959
查看 Memray 的所有 30 个替代方案→

常见问题解答

bloomberg/memray 是做什么的?

Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++ extensions. It captures memory events by hooking into the language runtime and traversing call stacks, providing a comprehensive view of how an application consumes memory. The tool is designed to minimize performance impact on the target application by using thread-local buffering and streaming data to an external process or file.

bloomberg/memray 的主要功能有哪些?

bloomberg/memray 的主要功能包括:Memory Profiling, Memory Profilers, Flame Graph Visualizers, Memory Regression, Memory Leak Detection, Native Stack Unwinders, Memory Allocation Tracers, Temporal Memory Profilers。

bloomberg/memray 有哪些开源替代品?

bloomberg/memray 的开源替代品包括: brendangregg/flamegraph — FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software… kde/heaptrack — Heaptrack is a heap memory profiler and diagnostic tool for applications running on Linux. It functions as a memory… android/ndk-samples — The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++… gperftools/gperftools — gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing… samsaffron/memory_profiler — Memory Profiler is a diagnostic library for Ruby applications designed to monitor runtime memory consumption and… dotnet/benchmarkdotnet — BenchmarkDotNet is a library and tool suite for measuring the execution time and memory allocation of .NET code. It…