awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bloomberg avatar

bloomberg/memray

0
View on GitHub↗
14,885 stars·434 forks·Python·apache-2.0·9 vuesbloomberg.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.

Historique des stars

Graphique de l'historique des stars pour bloomberg/memrayGraphique de l'historique des stars pour bloomberg/memray

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Memray

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Memray.
  • brendangregg/flamegraphAvatar de brendangregg

    brendangregg/FlameGraph

    19,307Voir sur 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
    Voir sur GitHub↗19,307
  • kde/heaptrackAvatar de KDE

    KDE/heaptrack

    4,107Voir sur 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++
    Voir sur GitHub↗4,107
  • android/ndk-samplesAvatar de android

    android/ndk-samples

    10,513Voir sur 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++
    Voir sur GitHub↗10,513
  • gperftools/gperftoolsAvatar de gperftools

    gperftools/gperftools

    8,959Voir sur 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++
    Voir sur GitHub↗8,959
Voir les 30 alternatives à Memray→

Questions fréquentes

Que fait 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.

Quelles sont les fonctionnalités principales de bloomberg/memray ?

Les fonctionnalités principales de bloomberg/memray sont : Memory Profiling, Memory Profilers, Flame Graph Visualizers, Memory Regression, Memory Leak Detection, Native Stack Unwinders, Memory Allocation Tracers, Temporal Memory Profilers.

Quelles sont les alternatives open-source à bloomberg/memray ?

Les alternatives open-source à bloomberg/memray incluent : 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…