リアル・ユーザー・モニタリングの属性の構成
Application Performance Monitoringを構成して、追加の属性を追加することで、様々なエンド・ユーザー・アクティビティをより適切に分類できます。
APMブラウザ・エージェントで定義された属性は、ブラウザ・エージェントがAPMサービスにアップロードするスパンに追加されます。
APMブラウザ・エージェントからのカスタム・テキスト属性は、トレース・エクスプローラでディメンションとして表され、メトリック・グループの定義にも使用できます。APMブラウザ・エージェントからのカスタム数値属性は、トレース・エクスプローラでメトリックとして表されます。数値属性は集計でき、モニタリング・サービスのアラートで使用できます。トレース・エクスプローラでのディメンションの詳細は、「トレースおよびスパンの属性について」を参照してください。
カスタム属性の構成
カスタム属性は、apmrum
オブジェクトのudfAttributes
プロパティを使用すると、最も簡単に追加できます。
ブラウザ・エージェント・コードがスパンを作成するたびに、このデータが検索され、スパンに必要な属性が移入するために使用されます。定義には、文字列、数値または関数(文字列または数値を返す)を指定できます。
関数が使用されると、スパンが作成されるたびにその関数が実行され、属性の値が必要になります。パフォーマンスへの悪影響を回避するために関数を使用する場合は、詳細に注意する必要があります。
新しい属性は、5回目以降、および
auto-activate
が有効な場合にのみ自動的にアクティブ化されます。それ以外の場合は、「スパン属性」ページを使用して手動でアクティブ化できます。
構成の簡単な例
window.apmrum.udfAttributes = [
{ name: 'mySiteId', value: "TheWebSiteId" },
{ name: 'resultsOnPage', value: 123 },
// calling a user-supplied javascript function to calculate shopping cart totals
{ name: 'shoppingCart', value: () => { productsInBasket(); } }
];
- 属性/ディメンション
‘mySiteId’
は、値が‘TheWebSiteId’
のUIに作成されます。これは、htmlテンプレートで異なる値を割り当てることができる場合や、異なるデプロイメントでこれを使用している場合に便利です。 - 属性
‘resultsOnPage’
は、この名前のメトリックをUIに作成します。数値の利点は、その数値を合計したり、他の数値関数と同様に平均を計算できることです。
productNumberのようなものは数値として指定しないでください。ただし、特定の製品を選択したり、製品別にグループ化できるように、文字列として使用する必要があります。たとえば、productidまたはproductNumberが数値フィールドとしてjavascriptで使用できる場合、Application Performance Monitoringで正しく処理されるように文字列に変換する必要があります。
複雑な構成の例
window.apmrum.udfAttributes = [
{ name: 'myDynamicSiteId', value: () => window.apmrum.tmpSiteId },
{ name: 'curProductNumber', value: '123456' },
];
// on other locations in the code:
window.apmrum.tmpSiteId = 'siteA';
// on some other locations in the code
window.apmrum.tmpSiteId = 'siteB';
クラレストの実装は、1つの場所で属性を生成することです。特定のコール中に特定の値が既知であるか、ある状態として設定されている場合、これらの値をapmrum
オブジェクトのプロパティに割り当てることができ、名前は‘tmp’
で始まります。この値は、udfAttributes
で取得して値をレポートできます。値が‘undefined’
の場合、プロパティは送信されません。
制限
提供されるデータは、それに関するレポートが適切であることを確認するために制限されます。主な目的は、任意のデータが誤ってプッシュされないようにすることです。
名前 | 制限 | 説明 |
---|---|---|
attrNameLenMax | 50 | 名前の最大文字数(指定した名前が長すぎる場合にドットを名前に追加することによる) |
attrValueLenMax | 500 | 値の最大文字数(指定した値が長すぎる場合にドットを値に追加することで強制) |
attrMax | 50 | 許可されるフレックス・フィールドの最大数 |
ユーザー名属性の構成
apmrum.username
属性を設定して、ユーザー名によるリアル・ユーザー・モニタリング・データのフィルタリングを有効にする必要があります。
- ユーザー名の元のソースを識別します。これは、モニター対象のアプリケーションと、使用される認証メカニズムによって異なります。
- アプリケーション・ページ(またはアプリケーション・ランディング・ページ)にスクリプトを埋め込みます。ユーザー名の値を
apmrum.username
変数に代入します。これにより、ユーザー名のレポートが可能になります。
- Internet ExplorerでWindowsから
username
をget
する:var WinNetwork = new ActiveXObject("WScript.Network"); window.apmrum || (apmrum = {} ); apmrum.username = WinNetwork.UserName
- PHPコードから
username
ロジックをget
する:window.apmrum || (apmrum = {} ); apmrum.username = '<?php echo $username; ?>';
- ページから
username
をget
する:ページでDOMが使用されていて、そのページに
<div id="welcomeMsg">Welcome <user> (last visit <mm–dd-yyyy>)</div>
のようなものが含まれる場合は、これを使用できます。var Loginname = document.getElementById("welcomeMsg").innerHTML ; var end = Loginname.indexOf("("); var nameOnly = Loginname.substring(8, end); window.apmrum || (apmrum = {} ); apmrum.username = nameOnly;
Oracle applicationsを使用している場合は、特定のOracleアプリケーションに応じてAPMエージェントで自動インジェクションを構成するときにユーザー名属性を取得する方法について、APMソリューションを参照してください。
レガシー環境でのカスタム属性の構成
Oracle Management Cloud Application Performance Monitoring製品からOracle Cloud Infrastructure (OCI) Application Performance Monitoringサービスに移行した場合は、この項に示すように、OCI構成で同じプロパティを使用できます。
これらの属性の値により、ユーザーのサイトでのアプリケーション・パフォーマンスの全体像をよりよく把握できます。これらの属性は、Application Performance Monitoringユーザー・インタフェースでディメンションとして表示され、データのフィルタリングに使用できます。属性を追加するには、モニターするページに次のJavaScriptコードを含めます:
apmrum.udfAttribute1 = function()
{
// return desired value of attribute 1
return "Attribute value 1";
};
apmrum.udfAttribute2 = function()
{
// return desired value of attribute 2
return "Attribute value 2";
};
デフォルトでは、attribute1
にURLの最上位ディレクトリが移入され、attribute2..9
は空のままとなり、ユーザーが構成できます。Application Performance Monitoringでは、最大9つの属性を構成できます。
たとえば、URL https://www.sample.com/calendar/render
では、attribute1
に文字列calendar
が移入されます。
アプリケーション・ページのドキュメント・タイトルおよびユーザーに表示されるテキストはレポートで役立つ可能性がありますが、デフォルトで取得が許可されていない個人識別可能情報(PII)が含まれることがあります。これらの値を取得する必要がある場合は、trackScreenText
設定を使用できます。window.apmrum.trackScreenText=true
を使用して明示的にこれをtrue値に設定する必要があります。
ページ・タイトルは、apmrum.udfAttributeDt
属性を設定することで再定義できます。コンテキスト・レポートでは、attribute1
のデータが最も汎用的であり、udfAttributeDt
はより限定的(ページ・レベル)です。apmrum.udfAttribute2
は、AJAXコール中にアクティブになっている画面上の領域、またはクリックされた領域を指している、または大まかに記述しているとみなされます。
要素のネーミングのロジックは、getElmLabelFn
属性を構成することによって再定義できます。このファンクションは、ユーザーが引数としてクリックまたはアクティブ化した要素(イベント・ターゲット)を受け取ります。getElmLabelFn
属性を使用すると、レポートされる情報をより細かく制御でき、誤ってPIIを公開するリスクを軽減できます。
次に例を示します:
apmrum.trackScreenText=true;
apmrum.udfAttributeDt = function()
{
// return desired value of page title
return "New Page Title";
};
apmrum.getElmLabelFn = function(e)
{
// return desired value for element
return "elm: "+e.tagName+"["+e.id+"]";
}