Вопрос
Я отлаживаю утечку памяти в граблированной задаче. Я хочу увидеть стек вызовов:
- Живые объекты
- Какой объект или строка изначально были выделены для этих объектов
Возможно ли это с ruby-prof?
Если нет, какой инструмент я должен использовать?
Настройка
Драгоценные камни
- рельсы 3.2.16
- event_bus 1.0.0 (https://github.com/kevinrutherford/event_bus)
- activeerecord-fast-import (https://github.com/jsuchal/activerecord-fast-import)
Задача Rake
- Импортирует CSV файл непосредственно в базу данных MySql с использованием объектов DATA LOAD INFILE и Active Record.
Что я пробовал
Я пробовал режимы
- RubyProf:: РАСПРЕДЕЛЕНИЯ
- RubyProf:: ПАМЯТЬ
В документации все сказано:
RubyProf:: РАСПРЕДЕЛЕНИЯ Отчеты о распределении объектов показывают, сколько объектов выделяет каждый метод в программе.
RubyProf:: ПАМЯТЬ Отчеты об использовании памяти показывают, сколько памяти использует каждый метод в программе.
Это означает, что ruby-prof просто сообщает об общем распределении объектов, а не только о тех, которые живут.
Я пробовал Ruby-Mass и Bloat Check, но, похоже, что-то не получается Я хочу. Ruby-Mass также выходит из строя, потому что по какой-то причине находит объекты FactoryGirl в памяти...