構文
newrelic.addPageAction(string $name[, JSON object $attributes])
名前とオプションの属性とともに、ブラウザのPageActionイベントを報告します。
要件
Browser Pro または Pro+SPA エージェント (v593 以降)
npm を使用してブラウザ エージェントをインストールしている場合は、
BrowserAgent
クラスをインスタンス化するときにgeneric_events
機能を有効にする必要があります。features
配列に以下を追加します。import { GenericEvents } from '@newrelic/browser-agent/features/generic_events';const options = {info: { ... },loader_config: { ... },init: { ... },features: [GenericEvents]}詳細については、 npm ブラウザのインストールに関するドキュメントを参照してください。
説明
このAPI コールは、ユーザーが定義した名前とオプションのプロパティ、および いくつかのデフォルトのプロパティ を含む ブラウザ PageAction
イベント を ダッシュボード に送信します。これは、 Subscribeボタンのクリックやチュートリアルへのアクセスなど、ブラウザ エージェントによってまだ自動的に追跡されていないイベントを追跡するのに役立ちます。
PageAction
イベントは30秒ごとに送信されます。- If 1,000 events are observed or if the harvest payload size is greater than 16 KB, the agent will harvest the buffered events immediately, bypassing the harvest cycle interval.
重要
以前のエージェント バージョンでは、120 件のイベントが観測されると、イベントはドロップされました。バージョン1.264.0ではイベント制限が 120 から 1,000 に増加され、ドロップされなくなりました。
パラメーター
パラメータ | 説明 |
---|---|
ストリング | 必須。アクションの名前またはカテゴリ。 予約したNRQLの単語 を属性や値の名前に使うのは避けましょう。 |
JSONオブジェクト | オプション。1 つ以上のキーと値のペアを持つ JSON オブジェクト。例: 予約済みのNRQLワード を属性/値の名前をつけるときに使わないようにしましょう。 |
例
リンククリックの記録(JavaScript)
この例では、ユーザーがTry Meリンクを選択するたびに PageAction イベントを記録します。イベントはclickedTryMe
のactionName
で記録されます:
<a href="/demo" id="try-me">Try Me!</a><script> document.getElementById('try-me').addEventListener('click', function (e) { newrelic.addPageAction('clickedTryMe'); });</script>
次に、次のNRQLを使用して、Try Me ボタンがクリックされた回数を書き込むことができます。
SELECT count(*) FROM PageAction WHERE actionName = 'clickedTryMe' SINCE 1 hour ago
リンククリックの記録(jQuery)
この例では、ユーザーがクラスcopy-text
の要素をクリックすると、PageActionイベントを送信します。 actionName
はcopy-text-button
であり、値は、結果を処理するsuccess
およびerror
という名前のメソッドに対応するResult
という別の属性として報告されます。
$('.copy-text').click(function() { var clipboard = new Clipboard('.copy-text'); clipboard.on('success', function(event) { // Do stuff // Report data to New Relic if (typeof newrelic == 'object') { newrelic.addPageAction('copy-text-button', { result: 'success' }); } }); clipboard.on('error', function(event) { // Do stuff // Report data to New Relic if (typeof newrelic == 'object') { newrelic.addPageAction('copy-text-button', { result: 'error' }); } });});
そして、クエリビルダで円グラフを作成し、過去30日間のボタンクリックの成功数とエラー数の内訳を確認することができます。
SELECT count(*) AS 'Clicks' FROM PageAction WHERE actionName = 'copy-text-button' FACET result SINCE 30 days ago
あるいは、過去30日間にどのページでコピーボタンのクリック数が多かったかを確認するためのクエリを作成することもできます。
SELECT count(*) AS 'Clicks' FROM PageAction WHERE actionName = 'copy-text-button' FACET currentUrl SINCE 30 days ago
フォーム入力のキャプチャ
この例では、 Signupというフォームからユーザー入力 (電子メール アドレス) を取得します。イベントはuserSignup
のactionName
で記録されます:
<form action="/signup" id="myform"> <input id="email" name="email" /> <input type="submit" value="Signup" /></form><script type="text/javascript"> document.getElementById('myform').addEventListener('submit', function (e) { var email = e.target.elements['email'].value; newrelic.addPageAction('userSignup', { email: email }); });</script>
そして、以下のNRQLクエリで集めたメールを見ることができます。
SELECT uniques(email) FROM PageAction WHERE actionName = 'userSignup' SINCE 1 hour ago