このページは機械翻訳したものです。

リアル・ユーザー・モニタリングの属性の構成

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で正しく処理されるように文字列に変換する必要があります。

複雑な構成の例

次の例は、データを交換するために、pmrumオブジェクトの断続的プロパティーを使用するより複雑な構成を示しています。
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からusernamegetする:
    var WinNetwork = new ActiveXObject("WScript.Network");
    window.apmrum || (apmrum = {} );
    apmrum.username =  WinNetwork.UserName
    
  • PHPコードからusernameロジックをgetする:
    window.apmrum || (apmrum = {} );
    apmrum.username = '<?php echo $username; ?>';
    
  • ページからusernamegetする:

    ページで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+"]"; 
}