構文
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
イベントを、いくつかのデフォルト属性とともにダッシュボードに送信します。これは、[購読]ボタンのクリックやチュートリアルへのアクセスなど、ブラウザエージェントによってまだ自動的に追跡されていないイベントを追跡するのに役立ちます。
PageAction
イベントは 30 秒ごとに送信され、ブラウザごとに 30 秒の収集サイクルごとに最大 120 のイベントが送信されます。- 120イベントの制限に達した後は、そのハーベストサイクルでは追加のイベントは捕捉されません。
パラメーター
パラメータ | 説明 |
---|---|
ストリング | 必須。アクションの名前またはカテゴリ。 予約したNRQLの単語 を属性や値の名前に使うのは避けましょう。 |
JSONオブジェクト | オプション。1 つ以上のキーと値のペアを持つ JSON オブジェクト。例: 予約済みのNRQLワード を属性/値の名前をつけるときに使わないようにしましょう。 |
例
リンククリックの記録(JavaScript)
この例では、ユーザーが「試してみる」リンクを選択するたびに、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