Python Glossary English

Python 3.4+tracemallocпонятие

tracemalloc.Filter

фильтры

Фильтр трасс по имени файла (шаблон fnmatch) и номеру строки: оставляет или исключает выделения из снимка.

Синтаксис

tracemalloc.Filter(inclusive, filename_pattern, lineno=None, all_frames=False, domain=None)

Первый аргумент inclusive: True — оставить только совпавшие, False — выбросить их. Несколько фильтров комбинируются так: трасса проходит, если совпала хотя бы с одним включающим и ни с одним исключающим. Типичный шум — Filter(False, '<frozen importlib._bootstrap>') и Filter(False, tracemalloc.__file__). По умолчанию проверяется только самый свежий кадр; all_frames=True смотрит всю трассу. Общий предок Filter и DomainFilter — недокументированный BaseFilter; сам по себе он не нужен.

Примеры

import tracemalloc
tracemalloc.start()
data = [bytes(50) for _ in range(100)]
snap = tracemalloc.take_snapshot()
mine = snap.filter_traces([tracemalloc.Filter(True, __file__)])
print(all(t.traceback[0].filename == __file__ for t in mine.traces))  # → True
print(len(mine.traces) <= len(snap.traces))  # → True — исходный снимок не изменился
tracemalloc.stop()

См. также

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