0

几周前,我们安装了Oink来分析我们的 Rails 应用程序糟糕的内存性能。不幸的是,我们错过了使用 Hodel 3000 Compliant 记录仪的机会。在发生灾难性的内存事件后,我们开始将 700 mb 分页到交换中,我去了 Oink 分析器,却发现它无法以当前默认的 Rails 记录器格式解析我们的日志。

当前格式的 Oink 日志条目:

524072923066355726  2015-04-12T23:29:07 2015-04-13T00:45:44Z    7477731 myapp   54.82.73.66 Local7  Info    app/web.4   Oink Action: messages#create 
524072923066355727  2015-04-12T23:29:07 2015-04-13T00:45:44Z    7477731 myapp   54.82.73.66 Local7  Info    app/web.4   Memory usage: 614136 | PID: 12 
524072923070550016  2015-04-12T23:29:07 2015-04-13T00:45:44Z    7477731 myapp   54.82.73.66 Local7  Info    app/web.4   Instantiation Breakdown: Total: 1 | User: 1 
524072923070550017  2015-04-12T23:29:07 2015-04-13T00:45:44Z    7477731 myapp   54.82.73.66 Local7  Info    app/web.4   Oink Log Entry Complete 

所需的 Hodel 3000 格式的 Oink 日志条目。

Apr 12 23:29:07 4598489-yygjkg-2345 rails[12]: Oink Action: messages#create 
Apr 12 23:29:07 4598489-yygjkg-2345 rails[12]: Memory usage: 614136 | PID: 12 
Apr 12 23:29:07 4598489-yygjkg-2345 rails[12]: Instantiation Breakdown: Total: 1 | User: 1 
Apr 12 23:29:07 4598489-yygjkg-2345 rails[12]: Oink Log Entry Complete 

有什么办法可以挽救吗?排名靠前的是否有所有必要的信息?

4

1 回答 1

0

一旦我format_message 在符合 Hodel 3000 的记录器中找到该方法并意识到 Oink 正在打印每个 Oink 条目中的 PID(如果不是在每一行上),我决定只使用脚本重新格式化日志。如果其他人有这个问题,你可以在https://github.com/NealJMD/oinkify/tree/master使用我的脚本

于 2015-04-16T16:08:00.347 回答