ExpertiDict

Python · Avançado · Inglês · Técnico

tracemalloc

/ˈtɹeɪs mæˈlɑk/substantivo

Módulo que rastreia as alocações de memória feitas pelo Python, mostrando em que linhas do código a memória foi pedida. Ajuda a achar vazamentos e picos de uso.

Onde usar

Aparece quando um serviço cresce em memória e ninguém sabe por quê. Comparam-se dois snapshots para ver quais linhas mais alocaram entre eles.

Em código

import tracemalloc

tracemalloc.start()
dados = [str(i) for i in range(10000)]
snap = tracemalloc.take_snapshot()
for s in snap.statistics('lineno')[:1]:
  print(s)

Exemplos

Take a tracemalloc snapshot before and after the request.

Tire um snapshot do tracemalloc antes e depois da requisição.

tracemalloc says this line allocates most of the memory.

O tracemalloc diz que essa linha aloca a maior parte da memória.

Cuidado

Ativar o rastreamento deixa o programa mais lento e gasta memória extra; use em investigação, e não o deixe ligado por padrão em produção.

Origem

Junção de trace, rastrear, com malloc, a função de alocação de memória da linguagem C.

Veja também

Todos os termos de Python