.NET におけるページ読み込みタイミング

.NET エージェントを利用してページ読み込みタイミング(実ユーザー監視、RUM とも呼ばれる)を使用するには、最新リリース(バージョン 2.0.0 以上)であることを確認してください。詳しくは、.NET エージェントのインストール手順をご覧ください。

UI 上で、ページ読み込みタイミングを有効にするには、Browser 設定をご覧ください。そして、以下のページ読み込みタイミングのセットアップ手順をご覧ください。

自動計測

.NET エージェントは、自動的に content-typetext/html があり、</head> タグがあるページのヘッダーに JavaScript を追加します。DOM の先頭から </head> タグを探し始めます。.NET エージェントは、コンテンツをストリーミングする直前に、HTTP レスポンスフィルターを使用してページを変更する HttpModule を追加して、JavaScript ヘッダー要素を追加します。

自動計測を最初に有効した時、aspx ページが再コンパイルされるように、asp.net キャッシュディレクトリをきれいにする必要があるかもしれません。ディレクトリをクリアするには、次のコマンドを使用します。

flush_dotnet_temp.cmd

content-type が正しく設定されていない場合は、この追加により、以前の機能していたページが停止することがあります。修正するには、アプリのコンテンツタイプを確認し、更新するか、自動計測を無効にしてください。

.Net エージェントのバージョン 4.2.185.0 の、特定のケースでは、自動追加を妨げる問題が発生することが分かっています。このも問題は、統合パイプラインモードで実行している WebForms のウェブサイトのみに関係し、ウェブサイトのルート URL に遷移する際にのみ発生します。

手動計測

自動計測を有効にできない場合は、手動でページ読み込みタイミングを設定することができます。New Relic .NET エージェント API を使用して、ページ内の適切なコードを含めます。

  1. To download the NewRelic.Api.agent.dll をダウンロードするには、インストールを再実行し、New Relic.Net エージェントセクションにおいて API Assembly を選択します。すると、.dll は、New Relic .NET エージェントのディレクトリにあります。

    NuGet パッケージを使っている場合は、以下を実行することで .dll インストールと参照を追加できます。

    Install-package NewRelic.Agent.Api

  2. New Relic .NET エージェント API を呼び出すために、Web アプリをセットアップするには、お使いのプロジェクトに NewRelic.Api.Agent.dll を参照に追加します。

    オプション: ウェブサーバー上のデプロイ済みのアプリのディレクトリを変更する場合は、NewRelic.Api.Agent.dll をアプリの bin ディレクトリにコピーします。

  3. <head> タグ内で API を呼び出します。メタタグ. If a meta-tag with the X-UA-COMPATIBLE http-equiv 属性付きのメタタグがある場合、そのメタタグの後に追加します。

    .NET Web Forms ビューエンジン
    .NET Web フォーム のビューエンジンを使っている場合は、= を使用してください。: は使わないでください。ビューエンジンが、HTML/JavaScript として API から返された HTML 文字列を認識し、それを適切にレンダリングします。
    マスタ​​ーページで .NET ASP の Web フォームを使用している場合、手動でヘッダーを追加する最も簡単な方法は、マスターページの <head> タグ内に以下のコードを挿入します。

    <%= NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader() %>
    Razor 等のその他のビューエンジン
    Razor のようなビューエンジンでは、ヘッダー文字列を生成する(GetBrowserTimingHeader()).NET エージェント API メソッドを使えます。
    以下は、Razor ベースのビューのサンプルです。

    <!DOCTYPE html>
    <html lang="en">
      <head>
          @Html.Raw(NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader())
          ...
        </head>
    </html>
    .NET MVC を利用している場合
    .NET MVC を使っている場合は、Html.Raw ヘルパーを呼び出すようにしてください。そうすれば、.NET MVC は、 HTML / JavaScript として API から返される HTML 文字列を認識し、適切にそれを描画します。

計測の無効化

計測を無効にする方法は以下のとおりです。

自動計測の無効化
完全に自動計測を無効にするには、newrelic.config を編集し、autoInstrument フラグを false にします。

<!-- disable auto instrumentation -->
<browserMonitoring autoInstrument="false"/>
フラグを変更したり、.NET エージェントをアンインストールした場合は、エージェントへの参照がコンパイル済みのファイルから削除されるように、キャッシュをフラッシュするようにしてください。
特定のビューの自動計測の無効化
特定のビューのみ自動計測を無効にしたい場合は、NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring() のエージェント API を呼び出します。ページ読み込みタイミングのスクリプトを追加したくない全てのビューにこの呼び出しを追加します。

この API コールは、無効にしたいビューのできるだけトップに近い位置に配置してください。
手動計測の無効化
個々のウェブページにおけるページ読み込みタイミングの手動計測を無効にするには、DisableBrowserMonitoring(System.Boolean) API コールを使います。詳しくは、.NET エージェント API ドキュメントを参照してください。

.NET エージェントのバージョン 2.20.24.0 以上の場合は、JavaScript フッターは必須ではありません。自動計測が、フッターを追加しません。手動計測でフッターを追加する必要はありません。推奨: ページ読み込みタイミングを設定する前に、New Relic の .NET エージェントの最新リリースにアップグレードしていることを確認してください。

ページ読み込みタイミングを設定する前に、New Relic .NET エージェントの最新版にアップグレードしていることを確認してください。

トラブルシューティング

ページ読み込みタイミングのデータが表示されない場合は、ページ読み込みタイミングのデータが表示されない場合をご覧ください。

さらに詳しい情報

追加のドキュメントリソースは次のとおりです。