普通 Ruby/JRuby 应用程序的性能监控工具

Performance Monitoring tool for plain Ruby/JRuby application

我们没有使用 Rails 并且它不是 Web 应用程序我们使用 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 应用程序性能监控。

Scout or New Relic should work if you have a Rack application. Otherwise you might be able to use 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