Kit de depuração integrado ao app para iOS, com menu flutuante para inspecionar tráfego de rede, desempenho, telas, logs e dados do app.
bloomberg/memray
Profiler de memória para Python que rastreia alocações no código Python, em extensões nativas e no interpretador, com vários tipos de relatório.
- Estrelas
- 15,389
- Forks
- 480
- Issues abertas
- 37
- Último commit
- anteontem
O que é?
Memray é um profiler de memória para Python. Ele registra as alocações de memória feitas pelo código Python, por módulos de extensão nativos em C/C++ e pelo próprio interpretador Python, e transforma os dados capturados em relatórios como gráficos de chama, tabelas, árvores e resumos no terminal. Em geral, é executado como uma ferramenta de linha de comando com `memray run`, mas também pode ser usado como biblioteca por meio de um context manager Tracker.
Ao contrário dos profilers por amostragem, o Memray rastreia todas as chamadas de função, registrando as pilhas de chamadas com precisão. O rastreamento nativo é opcional e ativado com `--native`; ele inclui os frames de C/C++ nos resultados, o que ajuda quando há extensões como numpy ou pandas. O modo ao vivo mostra as alocações em uma interface de terminal enquanto o programa está em execução, e o recurso attach permite começar a rastrear um processo que já está rodando.
O Memray ajuda a investigar problemas comuns de memória: encontrar o código responsável pelo alto consumo de memória, localizar vazamentos e identificar pontos críticos que fazem muitas alocações. Ele oferece suporte a threads Python e threads nativas. Funciona apenas no Linux e no macOS e requer Python 3.9 ou mais recente. Há um plugin para pytest, o pytest-memray, disponível como projeto separado.
Recursos principais
- 01Rastreia todas as chamadas de função para registrar pilhas de chamadas com precisão, ao contrário dos profilers por amostragem
- 02Rastreia alocações no código Python e em extensões nativas C/C++ com `--native`
- 03Gera gráficos de chama, tabelas HTML, árvores no terminal e resumos
- 04Interface ao vivo no terminal para inspecionar alocações enquanto um programa está em execução
- 05Pode se conectar a um processo Python que já está rodando
- 06Pode ser usado como biblioteca Python por meio de um context manager Tracker
Casos de uso
- Encontrar a causa do alto consumo de memória em um serviço ou script Python
- Localizar vazamentos de memória em aplicações de longa duração
- Identificar pontos críticos do código que alocam grandes quantidades de memória
- Analisar o desempenho de memória de programas Python que dependem de extensões C, como numpy ou pandas
Início rápido
- 1
Instale o Memray do PyPI com pip
python3 -m pip install memray - 2
Execute seu script com o profiler para registrar as alocações
python3 -m memray run my_script.py - 3
Gere um gráfico de chamas em HTML a partir do arquivo de resultados
memray flamegraph memray-my_script.py.2369.bin
Antes de usar
- Funciona apenas no Linux e no macOS; não pode ser instalado no Windows.
- A compilação a partir do código-fonte requer bibliotecas do sistema, como libunwind, lz4 e libdebuginfod.
Tópicos
Perguntas frequentes
- O que é memray?
- Profiler de memória para Python que rastreia alocações no código Python, em extensões nativas e no interpretador, com vários tipos de relatório. Memray é um profiler de memória para Python. Ele registra as alocações de memória feitas pelo código Python, por módulos de extensão nativos em C/C++ e pelo próprio interpretador Python, e transforma os dados capturados em relatórios como gráficos de chama, tabelas, árvores e resumos no terminal. Em geral, é executado como uma ferramenta de linha de comando com `memray run`, mas também pode ser usado como biblioteca por meio de um context manager Tracker.
- memray é gratuito? Qual é a licença?
- memray é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- memray ainda é mantido?
- Manutenção ativa. O último commit de memray foi em 19 de out. de 2026.
- Para que posso usar memray?
- Encontrar a causa do alto consumo de memória em um serviço ou script Python Localizar vazamentos de memória em aplicações de longa duração Identificar pontos críticos do código que alocam grandes quantidades de memória Analisar o desempenho de memória de programas Python que dependem de extensões C, como numpy ou pandas
- Como instalar memray?
- Instale o Memray do PyPI com pip: python3 -m pip install memray Execute seu script com o profiler para registrar as alocações: python3 -m memray run my_script.py Gere um gráfico de chamas em HTML a partir do arquivo de resultados: memray flamegraph memray-my_script.py.2369.bin
- Onde consigo memray?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/bloomberg/memray
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Gerenciador moderno de pacotes e dependências Python que gerencia venvs, lockfiles e builds com base nos metadados PEP 621 e PEP 517.
Plataforma open source de automação residencial que roda localmente e prioriza controle e privacidade, geralmente em um Raspberry Pi ou servidor local.
Sistema de memória de IA local-first que armazena o histórico de conversas na íntegra e o recupera por busca semântica, com acesso via servidor MCP e CLI.
Um servidor MCP que permite a agentes de programação controlar e inspecionar um Chrome em execução usando o Chrome DevTools para depuração e análise de desempenho.
Proxy HTTP interativo com suporte a TLS, que permite interceptar e inspecionar tráfego HTTP/1, HTTP/2 e WebSocket por interfaces de console, linha de comando e web.