構文
newrelic.addPageAction(string $name[, JSON object $attributes])
ブラウザのPageActionイベントを、名前やオプションの属性とともにNew Relic Oneに報告します。
要件
エージェントのバージョン nr-593 以上。
説明
このAPIコールは、ブラウザ PageAction
イベント を、ユーザー定義の名前とオプションの属性を付けて、 ダッシュボード に、 いくつかのデフォルト属性 と共に送信します。これは、 Subscribe ボタンのクリックやチュートリアルへのアクセスなど、ブラウザエージェントによって自動的に追跡されていないイベントを追跡するのに便利です。
- PageActionイベントは、30秒ごとにNew Relic Oneに送信され、30秒の収穫サイクルあたり、ブラウザごとに最大120イベントが送信されます。
- 120イベントの制限に達した後は、そのハーベストサイクルでは追加のイベントは捕捉されません。
パラメータ
パラメーター | 説明 |
---|---|
文字列 | 必須項目です。アクションの名前またはカテゴリー。New Relic One には、 予約したNRQLの単語 を属性や値の名前に使うのは避けましょう。 |
JSONオブジェクト | オプションです。1つまたは複数のキー/値のペアを持つJSONオブジェクト。例: 予約済みのNRQLワード を属性/値の名前をつけるときに使わないようにしましょう。 |
例
リンククリックの記録(JavaScript)
この例では、ユーザーが Try Me のリンクを選択すると、PageAction イベントを記録します。このイベントは、 actionName
の clickedTryMe
で記録されます。
< 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
で、その値は Result
という別の属性として報告され、その結果を処理する success
と error
というメソッドに対応しています。
$('.copy-text').click(function (){ var clipboard = new Clipboard ('.copy-text'); clipboard.on('success', function(event) { // Do stuff // Report data to New Relic One if (typeof newrelic == 'object') { newrelic.addPageAction('copy-text-button', {result: 'success'}); } }); clipboard.on('error', function(event) { // Do stuff // Report data to New Relic One 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 というフォームからユーザーの入力(メールアドレス)をキャプチャしています。このイベントは、 actionName
の userSignup
で記録されます。
<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