Инструмент мониторинга производительности для простого приложения Ruby/JRuby

Мы не используем Rails, и это не веб-приложение, либо мы используем приложения JRuby и Ruby, и это сообщение выбора над очередью работает с ними и

Нам интересно, есть ли способ проверить производительность таких приложений, как вызовы медленного метода синхронизации БД и т. Д., Без фактического запуска Ruby и JRuby в режиме профилирования.

В настоящее время мы используем разное время для каждого вызова БД, как это.

start_time = Time.now
## Possible DB call.
total_time_taken= (Time.now - start_time) * 1000 

Я не считаю этот метод надежным, и нам не хватает метрики метода, который потенциально медленный.

По сути, мы ищем что-то похожее на то, что Newrelic и Skylight.io делают для приложений Rails, но для мониторинга производительности приложений Ruby и JRuby.


person Noobie    schedule 16.08.2019    source источник
comment
Используйте поисковый термин APM, чтобы найти некоторые решения. Что-то вроде APM-решение Datadog поддерживает JRuby и может вам понадобиться.   -  person Brandon Wamboldt    schedule 16.08.2019


Ответы (1)


Scout или New Relic должны работать, если у вас есть приложение Rack. В противном случае вы можете использовать Datadog.

Есть и другие жемчужины профилирования, которые могут быть полезны.

memory_profiler ruby-prof

Есть много других https://github.com/flyerhzm/bullet https://github.com/tmm1/stackprof https://github.com/ankane/pghero

Для Jruby у вас может быть ограниченный выбор, некоторые из стоечных инструментов или Datadog могут работать, но также см.

Jruby см. https://github.com/jruby/jruby/wiki/Profiling-JRuby< /а>

person lacostenycoder    schedule 16.08.2019