3

私はnewrelicrubyエージェントを使用しており、アプリからの各hmtl応答にjsコードを挿入しています。たとえばhead:var NREUMQ = []; NREUMQ.push(["mark"、 "firstbyte"、new Date())。時間をもらう()]);

問題は、ユーザーがコンテンツをホストできるようにし、場合によってはhtmlファイルをホストできるようにすることです。次に、newrelicは、ダウンロードをクリックすると、これらの行をhtmlに挿入します...

newrelicが追加されたサイトからダウンロードされたHTMLの例。特定のルートまたは特定のコードパスにのみ使用できる他のメソッドに対してのみnewrelicのものを削除する方法についてアドバイスはありますか?

HTTP/1.1 200 OK
Server: nginx/1.1.8
Date: Thu, 26 Apr 2012 19:25:54 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1176
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.11
X-UA-Compatible: IE=Edge,chrome=1
Content-Transfer-Encoding: binary
X-Runtime: 0.340155
Progma: cache
Content-Disposition: attachment; filename="404.html"
Expires: 0
Cache-Control: private
Set-Cookie: ;)
Status: 200

<!DOCTYPE html>
<html>
<head><script>var NREUMQ=[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
  <title>The page you were looking for doesn't exist (404)</title>
  <style type="text/css">
    body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
    div.dialog {
      width: 25em;
      padding: 0 4em;
      margin: 4em auto 0 auto;
      border: 1px solid #ccc;
      border-right-color: #999;
      border-bottom-color: #999;
    }
    h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
  </style>
</head>

<body>
  <!-- This file lives in public/404.html -->
  <div class="dialog">
    <h1>The page you were looking for doesn't exist.</h1>
    <p>You may have mistyped the address or the page may have moved.</p>
  </div>
<script>(function(){var d=document;var e=d.createElement("script");e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/30/eum/rum.js";var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(e,s);})();NREUMQ.push(["nrf2","beacon-1.newrelic.com","9dfe439095",309309,"blablabla==",0,336,new Date().getTime()])</script></body>
</html>

使用してみました:include NewRelic :: Agent :: Instrumentation :: ControllerInstrumentation newrelic_ignore:only => "download"コントローラーで使用しましたが、効果がないようです。

乗客を再起動すると、しばらくの間コードがどのページにも追加されません。その後、newrelic_ignoreがあるページも含め、すべてのページにコードが追加されます。

4

1 に答える 1

5

New Relic RUMの自動計測をオフにすることができます。これにより、JSがページに自動的に挿入されます。newrelic.yml自動RUMのオンとオフを切り替える設定があります。詳細については、RubyのRUMのドキュメントを参照してください。

それが完了したら、エンドユーザーページの読み込み時間を測定するアクションのインストルメンテーションを手動で追加できます。その方法はドキュメントにも記載されています。RubyエージェントAPIメソッドを呼び出して、ページにヘッダーとフッターを挿入します。

于 2012-05-03T05:12:38.410 に答える