Python 3.4+tracemallocпонятие
tracemalloc.Snapshot
снимки
Снимок трасс выделений памяти: группирует их в статистику, сравнивается с другим снимком, фильтруется и сохраняется в файл.
Синтаксис
snapshot.statistics(key_type, cumulative=False); snapshot.compare_to(old, key_type)
Основные методы: statistics(key_type) — группировка по 'filename', 'lineno' или 'traceback'; compare_to(old, key_type) — разность со старым снимком; filter_traces(filters) — НОВЫЙ снимок, исходный не меняется. Неверный key_type ('line') даёт ValueError. dump()/load() сохраняют снимок через pickle — load() доверяет файлу, поэтому чужие снимки не загружают.
Примеры
import tracemalloc
tracemalloc.start()
snap = tracemalloc.take_snapshot()
try:
snap.statistics('line')
except ValueError as e:
print(e) # → unknown key_type: 'line'
snap.dump('snap.bin')
again = tracemalloc.Snapshot.load('snap.bin')
print(len(again.traces) == len(snap.traces)) # → True
tracemalloc.stop()
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности