4

对于每个请求,我都会收到以下警告:

在事务名称已被冻结后,尝试将事务重命名为 Controller/sessions/new。

我在 Heroku 上的 Cedar 上运行Ruby 2.0.0p195,Rails 4.0.0.rc和. 我已将异常跟踪到以下文件(第 108 行),但我不确定如何修复:Unicorn 4.6.2RPM 3.6.2.96

https://github.com/newrelic/rpm/blob/master/lib/new_relic/agent/transaction.rb

4

1 回答 1

2

我在新遗迹工作。

当您收到这样的消息时,这是由于我们应用程序的组件称为真实用户监控 (RUM),它试图监控客户浏览器中的页面加载时间。为什么这会影响您重命名事务的能力?我们将用户浏览器中的时间捕获基于事务 ID(与您服务器上的事务名称相关联),并且此信息将进入我们为您的网页创建的页脚。到我们创建该页脚时,无论交易名称是什么,在交易结束时都将继续如此。如果您的页面加载缓慢,对应于缓慢的应用服务器事务,并且我们捕获了这两个跟踪,那么在我们的 UI 中,您将能够在两者之间单击(这个缓慢的页面加载来自特定的交易缓慢)。

如果您使用 turbolink 功能,Rails 4 会使这变得更加困难。我们很快就会对此进行明确的支持,但就目前而言,turbolinks 基本上会阻止 RUM 在第一页加载后工作(如果您的应用程序中有指向自身的链接,无论如何)。

因此,您修复它的选项是:

  1. 在代码序列中更早地重命名您的事务 - 最好在内容生成结束之前(必须在获取输出之前,但在某些情况下更早)
  2. 关闭此应用程序的浏览器监控,因为您可以在执行过程中的任何时候重命名事务

请注意,考虑到我们的 turbolinks 支持状态,建议 1 可能不起作用。我们会尽快提供支持——当然是今年的某个时候。不幸的是,我们不承诺时间表,我们只是提供功能,所以我不能更具体地说明时间。

于 2013-05-22T00:49:04.853 回答