Python Glossary English

Python 3.4+tracemallocпонятие

tracemalloc.Trace

трассы и кадры

Одна трасса — один живой блок памяти: его размер size, домен domain и traceback места выделения.

Синтаксис

for trace in snapshot.traces: trace.size, trace.domain, trace.traceback

Snapshot.traces — последовательность Trace без группировки: блоков в программе десятки тысяч, перебирать их вручную медленно и неудобно, поэтому обычно зовут statistics(). Сам Trace не создают — его отдаёт снимок. domain почти всегда 0 (память Python), иное значение пишут C-расширения.

Примеры

import tracemalloc
tracemalloc.start()
blob = bytes(50_000)
snap = tracemalloc.take_snapshot()
big = max(snap.traces, key=lambda t: t.size)
print(type(big).__name__, big.domain, big.size >= 50_000)  # → Trace 0 True
print(big.traceback[0].lineno)  # → 3
tracemalloc.stop()

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности