Стойка-мини-профилировщик у Heroku?
Вопрос также задавался на форумах минипрофилеров.
Сегодня мы увидели замечательный обзор о стоечном мини-профилировщике, и это именно то, что мне нужно сейчас, чтобы отследить некоторые проблемы с производительностью. Отлично работает в dev, но мне действительно это нужно на производстве, где полная загрузка данных.
Я не очень разбираюсь в RACK, или гораздо больше, чем в написании моего приложения для rails и его внедрении. Сегодня я включил минипрофилер в наш проект рельсов, который мне нужно сделать для исправления производительности, а затем запустить его в производство. Я также следовал приведенным здесь инструкциям http://samsaffron.com/archive/2012/07/12/miniprofiler-ruby-edition о добавлении фильтра "перед" и включал профилирование только в том случае, если пользователь входит в соответствующие группы администраторов. Трассируется через код, и он отлично работает в dev.
В производстве, однако, его не включается. Я не знаю, так ли это, потому что:
- Мне нужно перевернуть волшебный бит где-нибудь еще, чтобы сказать, чтобы он включился в производство
- Мне нужно сделать что-то странное в Heroku, чтобы заставить его играть хорошо, или
- Там нет надежды.
Кто-нибудь использует этот драгоценный камень в Heroku еще и есть какие-либо отзывы? В то же время я собираюсь указать системе разработки на производство, но это также добавляет дополнительную задержку.
1 ответ
Я использовал аддон Redis2Go для хранения данных и немного настроенный Gem для соединений Redis из-за ограничения на бесплатную версию аддона.
Репо доступно здесь... https://github.com/mark-ellul/MiniProfiler
Я добавил инициализатор с кодом ниже...
uri = URI.parse(ENV["REDISTOGO_URL"])
Rack::MiniProfiler.config.storage_options = { :host => uri.host, :port => uri.port, :password => uri.password }
Rack::MiniProfiler.config.storage = Rack::MiniProfiler::RedisStore
Rack::MiniProfiler.config.pre_authorize_cb = lambda { |env|
true
}