Configurer les attributs de surveillance des utilisateurs réels
Vous pouvez configurer Application Performance Monitoring pour permettre une meilleure classification des différentes activités des utilisateurs finaux en ajoutant des attributs supplémentaires.
Les attributs définis dans l'agent de navigateur APM sont ajoutés aux portées téléchargées par l'agent de navigateur vers le service APM.
Les attributs de texte personnalisés de l'agent de navigateur APM sont représentés sous forme de dimensions dans l'explorateur de trace et peuvent également être utilisés pour définir des groupes de mesures. Les attributs numériques personnalisés de l'agent de navigateur APM sont représentés sous forme de mesures dans l'explorateur de trace. Les attributs numériques peuvent être agrégés et utilisés dans les alertes du service de surveillance. Pour plus de détails sur les dimensions dans l'explorateur de trace, voir À propos des attributs de trace et d'intervalle.
Configurer les attributs personnalisés
Les attributs personnalisés peuvent être ajoutés très facilement au moyen de la propriété udfAttributes
de l'objet apmrum
.
Chaque fois que le code de l'agent du navigateur crée une plage, ces données sont recherchées et utilisées pour alimenter la plage avec les attributs souhaités. La définition peut être une chaîne, un nombre ou une fonction (qui renvoie une chaîne ou un nombre).
Lorsqu'une fonction est utilisée, elle est exécutée à chaque création de l'étendue et la valeur de l'attribut est nécessaire. Une attention particulière est requise lorsque vous utilisez des fonctions pour éviter un impact négatif sur les performances.
Un nouvel attribut n'est activé automatiquement qu'après la cinquième occurrence et seulement si
auto-activate
est activé. Sinon, il peut être activé manuellement à l'aide de la page Attributs d'intervalle.
Exemple de configuration simple
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(); } }
];
- L'attribut/dimension
‘mySiteId’
sera créé dans l'interface utilisateur avec la valeur‘TheWebSiteId’
. Cela peut s'avérer utile si le modèle HTML permet d'affecter différentes valeurs ou si des déploiements différents l'utilisent. - L'attribut
‘resultsOnPage’
crée la mesure portant ce nom dans l'interface utilisateur. L'avantage d'une valeur numérique est qu'elle peut être additionnée et la moyenne peut être calculée pour elle, ainsi que pour d'autres fonctions numériques.
Il est important de noter que quelque chose comme un productNumber ne doit pas être fourni comme un nombre, mais il doit être utilisé comme une chaîne, pour permettre la sélection de produits spécifiques ainsi que le regroupement par le produit. Par exemple, lorsque le produit ou productNumber est disponible dans javascript en tant que champ numérique, il doit être converti en chaîne pour s'assurer qu'Application Performance Monitoring le gère correctement.
Exemple de configuration complexe
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';
Limplémentation la plus claire consiste à générer les attributs en un seul clic. Si une valeur particulière est connue ou définie comme un état lors d'appels spécifiques, elle peut être affectée à une propriété de l'objet apmrum
qui commence par ‘tmp’
dans le nom. Cette valeur peut être sélectionnée dans udfAttributes
pour déclarer la valeur. Lorsque la valeur est ‘undefined’
, la propriété ne sera pas envoyée.
Limitations
Les données fournies sont limitées à ce que les rapports soient pertinents. L'objectif principal est de s'assurer que les données arbitraires ne sont pas poussées accidentellement.
Nom | Limite | Description |
---|---|---|
attrNameLenMax | 50 | Nombre maximal de caractères pour un nom (mise en oeuvre par l'ajout de points au nom si le nom fourni est trop long) |
attrValueLenMax | 500 | Nombre maximal de caractères dans la valeur (appliquer en ajoutant des points à la valeur si la valeur fournie est trop longue) |
attrMax | 50 | Nombre maximal de champs flexibles autorisés |
Configurer l'attribut de nom d'utilisateur
Vous devez définir l'attribut apmrum.username
pour filtrer les données de surveillance des utilisateurs réels par nom d'utilisateur.
- Identifier la source initiale du nom d'utilisateur. Cela dépend de l'application surveillée et du mécanisme d'authentification utilisé.
- Intégrer des scripts dans les pages de l'application (ou la page de renvoi de l'application). Affecter la valeur du nom d'utilisateur à la variable
apmrum.username
. Le nom d'utilisateur est ainsi disponible pour la production de rapports.
get
username
de Windows dans Internet Explorer :var WinNetwork = new ActiveXObject("WScript.Network"); window.apmrum || (apmrum = {} ); apmrum.username = WinNetwork.UserName
- Logique
get
username
du code PHP :window.apmrum || (apmrum = {} ); apmrum.username = '<?php echo $username; ?>';
get
username
à partir de la page :Vous pouvez utiliser cette méthode si la page utilise DOM et qu'elle contient quelque chose comme :
<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;
Si vous utilisez des applications Oracle, voir Solutions APM pour plus de détails sur la saisie de l'attribut de nom d'utilisateur lors de la configuration de l'injection automatique dans l'agent APM en fonction de l'application Oracle spécifique.
Configurer les attributs personnalisés dans les environnements existants
Si vous avez migré du produit Application Performance Monitoring pour Oracle Management Cloud vers le service Application Performance Monitoring pour Oracle Cloud Infrastructure (OCI), vous pouvez utiliser les mêmes propriétés dans la configuration OCI que dans cette section.
Les valeurs de ces attributs fournissent des informations plus précises sur la performance des applications sur le site de l'utilisateur. Ces attributs sont affichés en tant que dimensions dans l'interface utilisateur du service de surveillance de la performance des applications, qui peuvent être utilisées pour filtrer les données. Pour ajouter les attributs, incluez le code JavaScript suivant dans les pages à surveiller :
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";
};
Par défaut, attribute1
sera alimenté avec le répertoire de niveau supérieur de l'URL et attribute2..9
resteront vides et pourront être configurés par vous. Dans le service de surveillance de la performance des applications, vous pouvez configurer jusqu'à neuf attributs.
Par exemple, dans l'URL https://www.sample.com/calendar/render
, attribute1
sera alimenté avec la chaîne calendar
.
Le titre du document de la page d'application et le texte visible par l'utilisateur peuvent être utiles pour la production de rapports, mais ils peuvent contenir des informations d'identification personnelle (IIP) dont la saisie n'est pas autorisée par défaut. Si vous voulez saisir ces valeurs, vous pouvez utiliser le paramètre trackScreenText
qui doit être réglé explicitement à la valeur "true" à l'aide du code suivant : window.apmrum.trackScreenText=true
.
Le titre de la page peut être redéfini en configurant l'attribut apmrum.udfAttributeDt
. Dans la production de rapports contextuels, les données de attribute1
sont les plus génériques, udfAttributeDt
est plus spécifique (niveau de la page) et apmrum.udfAttribute2
est censé pointer ou décrire de manière approximative la zone d'un écran qui est active pendant un appel AJAX ou la zone sur laquelle l'utilisateur a cliqué.
La logique d'attribution de nom aux éléments peut être redéfinie en configurant l'attribut getElmLabelFn
. Cette fonction reçoit l'élément (cible d'événement) activé par l'utilisateur comme argument ou sur lequel il a cliqué. En utilisant l'attribut getElmLabelFn
, vous avez plus de contrôle sur les informations faisant l'objet du rapport et cela réduit le risque d'exposition accidentelle des informations d'identification personnelle.
Voici un exemple :
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+"]";
}