Configuración de atributos para la supervisión del usuario real

Puede configurar Application Performance Monitoring para mejorar la clasificación de las diferentes actividades del usuario final agregando atributos adicionales.

Los atributos definidos en el agente de explorador de APM se agregan a los períodos que el agente de explorador carga en el servicio APM.

Los atributos de texto personalizados del agente de explorador de APM se representan como dimensiones en el explorador de rastreo y también se pueden utilizar para definir grupos de métricas. Los atributos numéricos personalizados del agente de explorador de APM se representan como métricas en el explorador de rastreo. Los atributos numéricos se pueden agregar y utilizar en las alertas del servicio Monitoring. Para obtener más información sobre las dimensiones del explorador de rastreo, consulte Acerca de los atributos de rastreo y período.

Configurar atributos personalizados

Los atributos personalizados se pueden agregar más fácilmente mediante la propiedad udfAttributes del objeto apmrum.

Cada vez que el código de agente del explorador crea un intervalo, estos datos se consultan y se utilizan para rellenar el intervalo con los atributos deseados. La definición puede ser una cadena, un número o una función (que devuelve una cadena o un número).

Cuando se utiliza una función, esa función se ejecutará cada vez que se cree el intervalo y se necesite el valor del atributo. Se requiere atención al detalle cuando se utilizan funciones para evitar un impacto negativo en el rendimiento.

Nota

Un nuevo atributo se activará automáticamente solo después de la quinta incidencia y solo si auto-activate está activado. De lo contrario, se puede activar manualmente mediante la página Atributos de intervalo.

Ejemplo de configuración simple

El siguiente código es un ejemplo básico que se puede utilizar para agregar algunos campos personalizados:
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(); } }
];
La configuración de ejemplo anterior muestra cómo se puede asignar un valor de cadena.
  • El atributo/dimensión ‘mySiteId’ se creará en la interfaz de usuario con el valor ‘TheWebSiteId’. Esto puede resultar útil si la plantilla html permite asignar diferentes valores para ella o si se utilizan diferentes despliegues.
  • El atributo ‘resultsOnPage’ creará la métrica con este nombre en la interfaz de usuario. La ventaja de un valor numérico es que se puede sumar y se puede calcular la media para él, así como otras funciones numéricas.

Es importante tener en cuenta que algo como productNumber no se debe proporcionar como un número, sino que se debe utilizar como una cadena, para permitir la selección de productos específicos, así como la agrupación por el producto. Por ejemplo, cuando productid o productNumber está disponible en javascript como campo numérico, se debe convertir en una cadena para garantizar que Application Performance Monitoring la maneje correctamente.

Ejemplo de configuración compleja

El siguiente ejemplo muestra una construcción más compleja con propiedad intermitente en el objeto apmrum para intercambiar datos:
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';

La implantación más clara es que los atributos se generen en un solo lugar. Si un valor concreto se conoce o se define como algún estado durante llamadas específicas, se pueden asignar a una propiedad en el objeto apmrum que empiece por ‘tmp’ en el nombre. Este valor se puede seleccionar en udfAttributes para informar el valor. Cuando el valor es ‘undefined’, la propiedad no se enviará.

Limitaciones

Los datos facilitados se limitan a garantizar que la información al respecto tenga sentido. El objetivo principal es garantizar que los datos arbitrarios no se transfieran accidentalmente.

Nombre Límite Descripción
attrNameLenMax 50 Número máximo de caracteres para un nombre (se aplica agregando puntos al nombre si el nombre proporcionado es demasiado largo)
attrValueLenMax 500 Número máximo de caracteres en el valor (aplicar agregando puntos al valor si el valor proporcionado es demasiado largo)
attrMax 50 Número máximo de campos flexibles permitidos

Configuración de atributo de nombre de usuario

Debe definir el atributo apmrum.username para activar el filtrado de datos de Supervisión de usuario real por nombre de usuario.

Antes de realizarlo, debe hacer lo siguiente:
  • Identifique el origen original del nombre de usuario. Esto depende de la aplicación supervisada y del mecanismo de autenticación utilizado.
  • Embeba los scripts en las páginas de la aplicación (o en la página de llegada de la aplicación). Asigne el valor de nombre de usuario a la variable apmrum.username. Esto hace que el nombre de usuario esté disponible para los informes.
El origen original del nombre de usuario depende de la aplicación supervisada y del mecanismo de autenticación utilizado. A continuación se muestran algunos ejemplos de cómo se pueden recopilar los nombres de usuario en diferentes entornos:
  • get username de Windows en Internet Explorer:
    var WinNetwork = new ActiveXObject("WScript.Network");
    window.apmrum || (apmrum = {} );
    apmrum.username =  WinNetwork.UserName
    
  • Lógica get username del código PHP:
    window.apmrum || (apmrum = {} );
    apmrum.username = '<?php echo $username; ?>';
    
  • get username de la página:

    Puede utilizar esta opción si la página está utilizando DOM y la página contiene algo parecido a: <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;
Nota

Si utiliza aplicaciones de Oracle, consulte Soluciones de APM para obtener detalles sobre cómo capturar el atributo de nombre de usuario al configurar la inyección automática en el agente de APM en función de la aplicación de Oracle específica.

Configurar atributos personalizados en entornos heredados

Si ha migrado desde el producto Oracle Management Cloud Application Performance Monitoring al servicio Oracle Cloud Infrastructure (OCI) Application Performance Monitoring, puede utilizar las mismas propiedades en la configuración de OCI que se muestran en esta sección.

Los valores de estos atributos proporcionan una perspectiva más cercana del rendimiento de la aplicación en el sitio del usuario. Estos atributos se muestran como dimensiones en la interfaz de usuario de Application Performance Monitoring, que se pueden utilizar para filtrar datos. Para agregar los atributos, incluya el siguiente código JavaScript en las páginas que desea supervisar:

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"; 
};

Por defecto, attribute1 se rellenará con el directorio de nivel superior de la URL y attribute2..9 permanecerá vacío y podrá configurarlo. En Application Performance Monitoring, puede configurar hasta nueve atributos.

Por ejemplo, en la URL https://www.sample.com/calendar/render, attribute1 se rellenará con la cadena calendar.

El título del documento de la página de aplicación y el texto visible para el usuario pueden ser útiles en la generación de informes, pero pueden contener información de identificación personal (PII) que no está permitido capturar por defecto. Si desea capturar esos valores, puede utilizar la configuración trackScreenText, que se debe definir de forma explícita en un valor verdadero mediante lo siguiente: window.apmrum.trackScreenText=true.

El título de página se puede redefinir definiendo el atributo apmrum.udfAttributeDt. En los informes de contexto, los datos de attribute1 son más genéricos, los de udfAttributeDt son más específicos (nivel de página) y los de apmrum.udfAttribute2 se supone que apuntan a/describen aproximadamente el área de una pantalla activa durante una llamada AJAX o el área en la que se hace clic.

La lógica de nomenclatura de elementos se puede redefinir mediante la configuración del atributo getElmLabelFn. Esta función recibe el elemento (destino de evento) en el que el usuario hizo clic o que activó como argumento. Al utilizar el atributo getElmLabelFn, tiene más control sobre la información notificada y reduce el riesgo de exponer accidentalmente la PII.

A continuación le mostramos un ejemplo:

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+"]"; 
}