我已经安装了oink gem来监视Rails应用程序的内存使用情况。
为了查看Oink报告,我需要在终端中运行此命令:

oink --threshold=75 /log/*

当我在我的机器上运行它时,它会显示开发环境的报告。
问题是我对查看我的生产环境的报告更感兴趣。
我的应用程序托管在Heroku上,有没有一种方法可以为Heroku的生产环境运行Oink的终端命令?
谢谢

最佳答案

我开始研究Heroku做这个:
您必须将日志级别更改为信息,以便Oink日志显示:

heroku config:add LOG_LEVEL=info

使用自定义stdout记录器将oink中间件添加到production.rb
config.middleware.use( Oink::Middleware, :logger => Hodel3000CompliantLogger.new(STDOUT))

当你想解析你的日志时,把它们尾随到一个本地文件中,然后删除heroku的前缀,并只过滤到oink行。
heroku logs --tail > log/production.log
cat log/production.log | cut -c 46- | grep 'Oink\|Memory\|Instantiation' > log/production-oink.log

然后在新的本地日志上运行oink
oink --threshold=0 log/production-oink.log

您也可以从日志条目或回形针下载日志

10-08 04:56