Node.js エージェントを使用すると、Web ページにbrowserインストゥルメンテーションを追加できます。 Node.js エージェントでを使用するには、Node.js エージェントの最新リリースがインストールされていることを確認してください。
ユーザーインターフェースでブラウザモニタリングを有効にするには、 ブラウザエージェントをインストールする手順に従ってください 。次に、このセクションの手順に従って、Node.js エージェントをセットアップします。
JavaScriptヘッダーの挿入
Node.jsエージェントのインストルメンテーションは、アプリケーションを超えてエンドユーザーのブラウザーにまで継続できます。newrelic
モジュールはscript
ヘッダーを生成できます。これをHTMLテンプレートに挿入すると、エンドユーザーのページの読み込み時間がキャプチャされます。ヘッダーは手動で挿入する必要がありますが、追加の構成は必要ありません。
HTMLページのhead
タグの先頭で、 CHARSET
メタタグの後にnewrelic.getBrowserTimingHeader()
の結果を挿入します。
例外: Internet Explorer互換性を最大限に高めるには、 X-UA-COMPATIBLE HTTP-EQUIV
メタ タグの後にnewrelic.getBrowserTimingHeader()
の結果を挿入します。
すべてのリクエストに対して一度だけヘッダーを呼び出します。ヘッダーをキャッシュしません。
ヘッダーの生成は高速で、アプリケーションがNew Relicに余分なリクエストをする必要もありません。
フレームワーク例
ここでは、さまざまなフレームワークやテンプレートを使ってブラウザ監視を設定する例を紹介します。
この例では、ウェブアプリケーションフレームワークの Express と、テンプレートモジュールの jade を使用しています。他のフレームワークでは仕様が異なりますが、この一般的なアプローチはほとんどの場合で機能するはずです。
ブラウザのタイミング見出しを挿入する最も簡単な方法は、 newrelic
モジュールをテンプレートに渡し、テンプレート内からnewrelic.getBrowserTimingHeader()
を呼び出すことです。
あなたのapp.js
で:
const newrelic = require('newrelic');
const app = require('express')();
app.locals.newrelic = newrelic;
app.get('/user/:id', function (req, res) {
app.listen(process.env.PORT);
あなたのlayout.jade
で:
!= newrelic.getBrowserTimingHeader()
link(rel='stylesheet', href='stylesheets/style.css')
この例では、Express with Swig を使用しています。
あなたのapp.js
で:
const newrelic = require('newrelic');
const http = require('http')
const path = require('path')
const swig = require('swig')
const app = require('express')();
app.locals.newrelic = newrelic;
app.engine('html', swig.renderFile);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
app.get('/user/:id', function (req, res) {
app.listen(process.env.PORT);
あなたのviews/user.html
で:
{{ newrelic.getBrowserTimingHeader() }}
この例では、 hapi.js と handlebars を使用しています。他の類似したテンプレート言語では、一般的に3重のブラケットを必要とします。例えば、 mustache と hogan-express を使用しています。これにより、スクリプトの内容がエスケープされるのを防ぐことができます。
app.js
でhapiを使用します:
const newrelic = require('newrelic');
const Hapi = require('hapi');
const server = new Hapi.Server(parseInt(PORT), '0.0.0.0', {
engines : {html: 'handlebars' },
path : __dirname + '/templates'
function homepage(request, reply) {
nreum : newrelic.getBrowserTimingHeader(),
reply.view('homepage', context);
あなたのtemplates/homepage.html
で:
ヘッダー生成の無効化
デフォルトでは、 newrelic.getBrowserTimingHeader()
の呼び出しは有効なヘッダーを返す必要があります。テンプレートコードを削除せずにヘッダー生成を無効にするには: newrelic.js
ファイルに次を追加します。
環境変数NEW_RELIC_BROWSER_MONITOR_ENABLE=false
を設定することもできます。
注意
ブラウザの監視を使用するときは、エージェントとNewRelicコレクターの間に常にssl
を残してください。
ブラウザの監視やnewrelic
モジュールを使用していない場合でも、API呼び出しをそのままにしておくことができます。
- ブラウザの監視が無効になっている場合、またはエラーが発生して作業ヘッダーを生成できない場合、
newrelic
モジュールは無害なHTMLコメントを生成します。 newrelic
モジュールを完全に無効にすると、コンテンツは生成されません。