Configura attributi per il monitoraggio Real User

È possibile configurare Application Performance Monitoring per consentire una migliore classificazione delle diverse attività dell'utente finale aggiungendo attributi aggiuntivi.

Gli attributi definiti nell'agente del browser APM vengono aggiunti agli intervalli caricati dall'agente del browser nel servizio APM.

Gli attributi di testo personalizzati dell'agente del browser APM vengono rappresentati come dimensioni in Trace Explorer e possono essere utilizzati anche per definire gruppi di metriche. Gli attributi numerici personalizzati dell'agente del browser APM vengono rappresentati come metriche in Trace Explorer. Gli attributi numerici possono essere aggregati e utilizzati negli avvisi nel servizio di monitoraggio. Per informazioni dettagliate sulle dimensioni in Trace Explorer, vedere Informazioni sugli attributi di trace e intervallo.

Configura attributi personalizzati

Gli attributi personalizzati possono essere aggiunti più facilmente tramite la proprietà udfAttributes dell'oggetto apmrum.

Ogni volta che il codice agente del browser crea un intervallo, questi dati vengono cercati e utilizzati per popolare l'intervallo con gli attributi desiderati. La definizione può essere una stringa, un numero o una funzione (che restituisce una stringa o un numero).

Quando si utilizza una funzione, tale funzione viene eseguita ogni volta che viene creato l'intervallo e il valore dell'attributo è necessario. L'attenzione ai dettagli è necessaria quando si utilizzano le funzioni per evitare un impatto negativo sulle prestazioni.

Nota

Un nuovo attributo verrà attivato automaticamente solo dopo la quinta occorrenza e solo se è abilitato auto-activate. In caso contrario, è possibile attivarla manualmente utilizzando la pagina Attributi intervallo.

Esempio di configurazione semplice

Il codice seguente è un esempio di base che può essere utilizzato per aggiungere alcuni campi personalizzati:
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 configurazione di esempio precedente mostra come assegnare un valore stringa.
  • L'attributo/dimensione ‘mySiteId’ verrà creato nell'interfaccia utente con il valore ‘TheWebSiteId’. Ciò può essere utile se il modello html consente di assegnare valori diversi per esso o se vengono utilizzate distribuzioni diverse.
  • L'attributo ‘resultsOnPage’ creerà la metrica con questo nome nell'interfaccia utente. Il vantaggio di un valore numerico è che può essere sommato e la media può essere calcolata per esso, così come altre funzioni numeriche.

È importante notare che qualcosa come un productNumber non dovrebbe essere fornito come numero, ma dovrebbe essere utilizzato come stringa, per consentire la selezione di prodotti specifici e il raggruppamento per prodotto. Ad esempio, quando il prodotto o productNumber è disponibile in javascript come campo numerico, deve essere convertito in una stringa per garantire che Application Performance Monitoring lo gestisca correttamente.

Esempio di configurazione complessa

L'esempio seguente mostra una costruzione più complessa con proprietà intermittente sull'oggetto apmrum per lo scambio di dati:
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';

L'implementazione più chiara consiste nel generare gli attributi in un unico punto. Se un determinato valore è noto o impostato come stato durante chiamate specifiche, è possibile assegnarlo a una proprietà nell'oggetto apmrum che inizia con ‘tmp’ nel nome. Questo valore può essere selezionato in udfAttributes per riportare il valore. Se il valore è ‘undefined’, la proprietà non verrà inviata.

Limitazioni

I dati forniti sono limitati per garantire che la segnalazione abbia senso. L'obiettivo principale è garantire che i dati arbitrari non vengano inviati accidentalmente.

Nome Limitato descrizione;
attrNameLenMax 50 Numero massimo di caratteri per un nome (applicazione mediante l'aggiunta di punti al nome se il nome fornito è troppo lungo)
attrValueLenMax 500 Numero massimo di caratteri nel valore (applicazione aggiungendo punti al valore se il valore specificato è troppo lungo)
attrMax 50 Numero massimo di flexfield consentiti

Configura attributo nome utente

È necessario impostare l'attributo apmrum.username per abilitare il filtro dei dati di Real User Monitoring in base al nome utente.

Prima di procedere, è necessario procedere come segue:
  • Identificare l'origine originale del nome utente. Dipende dall'applicazione monitorata e dal meccanismo di autenticazione utilizzato.
  • Incorpora gli script nelle pagine dell'applicazione (o nella pagina di arrivo dell'applicazione). Assegnare il valore del nome utente alla variabile apmrum.username. Il nome utente viene reso disponibile per la generazione di report.
L'origine originale del nome utente dipende dall'applicazione monitorata e dal meccanismo di autenticazione utilizzato. Di seguito sono riportati alcuni esempi di come i nomi utente possono essere raccolti in ambienti diversi.
  • get username da Windows in Internet Explorer:
    var WinNetwork = new ActiveXObject("WScript.Network");
    window.apmrum || (apmrum = {} );
    apmrum.username =  WinNetwork.UserName
    
  • get username logica dal codice PHP:
    window.apmrum || (apmrum = {} );
    apmrum.username = '<?php echo $username; ?>';
    
  • get username dalla pagina:

    È possibile utilizzare questa opzione se la pagina utilizza DOM e la pagina contiene un elemento simile al seguente: <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

Se si utilizzano le applicazioni Oracle, vedere Soluzioni APM per i dettagli su come acquisire l'attributo nome utente durante la configurazione dell'iniezione automatica nell'agente APM a seconda dell'applicazione Oracle specifica.

Configura attributi personalizzati in ambienti precedenti

Se è stata eseguita la migrazione dal prodotto Application Performance Monitoring di Oracle Management Cloud al servizio Application Performance Monitoring di Oracle Cloud Infrastructure (OCI), è possibile utilizzare le stesse proprietà nella configurazione OCI come mostrato in questa sezione.

I valori di questi attributi forniscono una prospettiva più ravvicinata delle prestazioni dell'applicazione sul sito dell'utente. Questi attributi vengono visualizzati sotto forma di dimensioni nell'interfaccia utente di Application Performance Monitoring, che può essere utilizzata per filtrare i dati. Per aggiungere gli attributi, includere il seguente codice JavaScript nelle pagine che si desidera monitorare:

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

Per impostazione predefinita, attribute1 verrà popolato con la directory di livello superiore dell'URL e attribute2..9 rimarrà vuoto e potrà essere configurato dall'utente. In Application Performance Monitoring è possibile configurare fino a nove attributi.

Ad esempio, nell'URL https://www.sample.com/calendar/render, attribute1 verrà popolato con la stringa calendar.

Il titolo del documento della pagina dell'applicazione e il testo visibile all'utente possono essere utili per la generazione di report, ma possono contenere informazioni di identificazione personale (PII) che non possono essere acquisite per impostazione predefinita. Se si desidera acquisire tali valori, è possibile utilizzare l'impostazione trackScreenText che richiede di essere impostata in modo esplicito su true value utilizzando il seguente comando: window.apmrum.trackScreenText=true.

Il titolo della pagina può essere ridefinito impostando l'attributo apmrum.udfAttributeDt. Nel reporting contestuale, i dati in attribute1 sono più generici, udfAttributeDt è più specifico (a livello di pagina) e si presume che apmrum.udfAttribute2 punti a/descriva approssimativamente l'area di una schermata attiva durante una chiamata AJAX o l'area su cui si fa clic.

La logica di denominazione degli elementi può essere ridefinita configurando l'attributo getElmLabelFn. Questa funzione riceve l'elemento (destinazione evento) su cui l'utente ha fatto clic/attivato come argomento. Utilizzando l'attributo getElmLabelFn, si dispone di un maggiore controllo sulle informazioni riportate e si riduce il rischio di esposizione accidentale delle informazioni di identificazione personale.

Di seguito viene fornito un esempio.

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