Wrapture показывает, какой код на самом деле тормозит
Finding Slow Code with Wrapture
Wrapture строит дерево вызовов с временами и вычисляет self time — время, которое операция тратит сама, без учёта дочерних вызовов. В примере с Flask-магазином видно, что медленный эндпоинт тормозит из-за Ledger.record, а не из-за сервиса или view. Коллектор Aggregate собирает статистику по множеству запросов, annotate() помечает запросы tenant'ом, а Counter считает вызовы без хранения событий.
Self time — это длительность операции минус время, за которое отвечают её наблюдаемые дочерние вызовы, и wrapture вычисляет его из родительских связей по мере закрытия событий.