Комментарии 1
Поначалу я споткнулся на поиске объектов, так как команда objgraph.by_type('types.TracebackType') не находила вообще ничего. И это — несмотря на то, что я знал о том, что имеется огромное количество подобных объектов. Оказалось же, что в качестве имени типа надо использовать строку traceback. Причина этого мне не вполне ясна, однако что есть — то есть.

Пошел посмотреть что же там в файле types.py и знаете, лучше бы я этого не делал. Не думал, что от кода в стандартной библиотеке могут волосы на жопе начать шевелиться:


try:
    raise TypeError
except TypeError:
    tb = sys.exc_info()[2]
    TracebackType = type(tb)
    FrameType = type(tb.tb_frame)
    tb = None; del tb

А по сути — by_type ищет по fully-qualified или сокращенному имени класса и обо всех его алиасах, определенных в других местах (типа types.py), функция не знает. Профиль кучи специально отображает fq имена в имена через types. Видимо для наглядности.


inb4 поговорил с переводом, традиции Хабра

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Информация
Дата основания

27 августа 2015

Местоположение

Россия

Сайт

ruvds.com

Численность

11–30 человек

Дата регистрации

18 марта 2016

Блог на Хабре