構文
newrelic.setCustomAttribute(name: string, value: string|number|boolean|null[, persist: boolean])
ユーザー定義のカスタム属性名と値をページ上の後続のイベントに追加します。
要件
ブラウザ Lite、Pro、または Pro+SPA エージェント (v593 以降)
persist
パラメータまたはnull
値のサポートには、エージェント バージョン 1.230.0 以降が必要です。boolean
値のサポートには、エージェントのバージョン 1.245.0 以降が必要です。
npm を使用してブラウザ エージェントをインストールしている場合は、
BrowserAgent
クラスをインスタンス化するときに少なくとも 1 つの機能を有効にする必要があります。たとえば、次をfeatures
配列に追加します。import { Metrics } from '@newrelic/browser-agent/features/metrics'const options = {info: { ... },loader_config: { ... },init: { ... },features: [Metrics]}
詳細については、 NPM ブラウザのインストールに関するドキュメントを参照してください。
説明
属性が PageView
イベントに含まれるようにするには、ウィンドウ ロード イベントが発生する前 (そのデータが送信されるとき) にこの呼び出しを行います。属性が設定されると、New Relic プラットフォームは、ページがリロードされるか属性が手動で設定解除されるまで、すべてのイベントとともにそれを記録します。
互換性のあるエージェント バージョンで SPA 監視を 使用している場合、この呼び出しで設定された属性も newrelic.interaction
イベントに含まれます。ただし、SPA API を使用して設定された属性は、これらの属性よりも優先されます。
カスタム属性のエラーは、 JSエラーページのイベントに含まれます。 APIを介してカスタム属性のエラーを表示またはログに記録するには、ブラウザAPIのnoticeError
呼び出しを使用します。
persist
フラグを使用すると、属性をbrowserに保存することもできるため、同じオリジンの within a session スパンの後続のページ訪問では、イベントで属性が保持されます。 この機能はbrowserプライバシー設定に応じて変動する可能性があることに注意してください。 この関数がvalue = null
で呼び出されると、 persist
フラグに関係なく、属性は現在のページのイベントとストレージのbothから削除されます。
重要
永続化された属性は、同じ名前の info.jsAttributes
キーよりも優先されることに注意してください!たとえば、 somedomain.com/pageA
に設定された永続属性 someName
、 somedomain.com/pageB
の情報ブロックに静的に設定された someName
をオーバーライドします。これらは同じ (セッション) ストレージを共有すると仮定します。
パラメーター
パラメータ | 説明 |
---|---|
ストリング | 必須。属性の名前。 予約済みのNRQLワード を属性/値の名前をつけるときに使わないようにしましょう。 |
文字列_OR整数ORブール値OR _null | 必須。属性の値。
予約済みのNRQLワード を属性/値の名前をつけるときに使わないようにしましょう。 |
ブール値 | オプション。 デフォルトは |
例
HTML要素のJavaScript/jQueryの取得
この例では、JavaScript/jQueryを使用して、Drupalで生成されたページの以下のHTML要素の値を取得します。
<link rel="shortlink" href="/node/1111" />
<h1>Using NRQL</h1>
New Relic はそれらをカスタム属性として報告します。これは、 PageView
およびPageAction
イベントのクエリに役立ちます。
var node_id = jQuery("link[rel='shortlink']").attr("href");var node_title = jQuery('h1').text();
if (typeof newrelic == 'object') { newrelic.setCustomAttribute('nodeId', node_id); newrelic.setCustomAttribute('title', node_title);}