奇怪的“分析”输出。从 Rails 命令行

Posted

技术标签:

【中文标题】奇怪的“分析”输出。从 Rails 命令行【英文标题】:Strange "profiling" output. from Rails command line 【发布时间】:2011-09-05 17:34:22 【问题描述】:

我突然体验到 rake 和 rails 有点奇怪的输出。它最重要的是看起来像一个进程列表,但它显然与 Ruby/Rails 相关。此外,它有几页长 - 实际上我必须增加终端中的回滚设置才能看到在此输出开始之前发生了什么。

这里有一个简短的摘录:

0.00    48.12      0.00        1     0.00     0.00  Rails::Rack::LogTailer#tail!
0.00    48.12      0.00        3     0.00     0.00  WEBrick::HTTPResponse#[]
0.00    48.12      0.00        1     0.00     0.00  Rack::Utils::HeaderHash#each
0.00    48.12      0.00        2     0.00     0.00  Range#begin
0.00    48.12      0.00        1     0.00     0.00  Range#end
0.00    48.12      0.00        1     0.00    10.00  Rack::File#each
0.00    48.12      0.00        1     0.00     0.00  WEBrick::HTTPRequest#fixup
0.00    48.12      0.00        1     0.00     0.00  Kernel.raise
0.00    48.12      0.00        1     0.00     0.00  Exception#to_s
0.00    48.12      0.00        1     0.00     0.00  WEBrick::GenericServer#stop
0.00    48.12      0.00        1     0.00     0.00  WEBrick::BasicLog#debug?

这个特殊的输出是在我杀死 WebRick (ctrl+c) 之后出现的。我在运行测试(似乎在每个测试/文件之后出现)和运行rake db:migrate(在迁移完成时出现)时也会遇到这种情况。

我目前正在运行 Rails 3.1.0(从 3.0.5 升级,希望能解决这个问题)和通过 RVM 安装的 ruby​​ 1.9.2p180。

任何想法为什么会发生这种情况?

【问题讨论】:

几乎看起来像是某种分析或基准测试输出。不知道什么可以做到这一点,但也许这可以给你一些关于在哪里看的想法。也许你在某处启用了某种分析.. 见这里。看起来类似的输出:***.com/questions/350470/… 你是对的!它看起来与分析输出完全一样。现在还有待查明它来自哪里...... 我发现了。我有一个名为 Profile 的模型,它由初始化程序加载。由于我删除了 Profile 模型,rails 显然从某个地方加载了一些其他 Profile 类。 写一个简单的答案并将其标记为正确答案如何?该问题当前标记为未解决(不再存在)。 【参考方案1】:

您有一个名为 Profile 的模型,当您删除 Rails 尝试加载它时,尽管该文件不再存在,它会在加载路径中的其他位置查找并将分析器从标准库中取出。因此,您看到的是您的应用程序正在被分析(意外地)。

【讨论】:

以上是关于奇怪的“分析”输出。从 Rails 命令行的主要内容,如果未能解决你的问题,请参考以下文章

rails如何从命令行调用运行本地服务器的控制器操作[重复]

如何接收最奇怪的命令行参数?

Rstudio 在命令行中复制命令

编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

如何从命令行运行 QUnit 测试?

从命令行接受多个数字求和后输出结果