Configurar Atributos para Monitoramento de Usuário Real
Você pode configurar o serviço Application Performance Monitoring para permitir uma melhor classificação de diferentes atividades do usuário final, adicionando outros atributos.
Os atributos definidos no agente do navegador APM são adicionados aos intervalos que o agente do navegador faz upload para o serviço APM.
Os atributos de texto personalizados do agente do browser do APM são representados como dimensões no Trace Explorer e também podem ser usados para definir grupos de métricas. Os atributos numéricos personalizados do agente do browser do APM são representados como métricas no Trace Explorer. Os atributos numéricos podem ser agregados e usados em alertas no serviço Monitoring. Para obter detalhes sobre dimensões no Trace Explorer, consulte Sobre Atributos de Rastreamento e Intervalo.
Configurar Atributos Personalizados
Os atributos personalizados podem ser adicionados mais facilmente por meio da propriedade udfAttributes
do objeto apmrum
.
Toda vez que o código do agente do navegador cria um intervalo, esses dados são pesquisados e usados para preencher o intervalo com os atributos desejados. A definição pode ser uma string, um número ou uma função (que retorna uma string ou um número).
Quando uma função é usada, ela é executada toda vez que o intervalo é criado e o valor do atributo é necessário. Atenção a detalhes é necessária ao usar funções para evitar impacto negativo no desempenho.
Um novo atributo será ativado automaticamente somente após a quinta ocorrência e somente se
auto-activate
estiver ativado. Caso contrário, ele poderá ser ativado manualmente usando a página Atributos de Intervalo.
Exemplo de Configuração Simples
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(); } }
];
- O atributo/dimensão
‘mySiteId’
será criado na IU com o valor‘TheWebSiteId’
. Isso pode ser útil se o modelo html permitir designar diferentes valores para ele ou se diferentes implantações estiverem usando isso. - O atributo
‘resultsOnPage’
criará a métrica com esse nome na interface do usuário. O benefício de um valor numérico é que ele pode ser somado, e a média pode ser calculada para ele, bem como outras funções numéricas.
É importante observar que algo como um productNumber não deve ser fornecido como um número, mas deve ser usado como uma string, para permitir a seleção de produtos específicos, bem como o agrupamento pelo produto. Por exemplo, quando o productid ou productNumber estiver disponível em javascript como um campo numérico, ele precisará ser convertido em uma string para garantir que o serviço Application Performance Monitoring o trate corretamente.
Exemplo de Configuração Complexa
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';
A implementação mais clara é ter os atributos gerados em um único local. Se um valor específico for conhecido ou definido como algum estado durante chamadas específicas, elas poderão ser designadas a uma propriedade no objeto apmrum
que começa com ‘tmp’
no nome. Esse valor pode ser selecionado em udfAttributes
para reportar o valor. Quando o valor for ‘undefined’
, a propriedade não será enviada.
Limitações
Os dados fornecidos são limitados para garantir que a geração de relatórios sobre eles faça sentido. O principal objetivo é garantir que dados arbitrários não sejam enviados acidentalmente.
Nome | Limite | Descrição |
---|---|---|
attrNameLenMax | 50 | Número máximo de caracteres para um nome (imposto pela adição de pontos ao nome, se o nome fornecido for muito longo) |
attrValueLenMax | 500 | Número máximo de caracteres no valor (forçar adicionando pontos ao valor, se o valor fornecido for muito longo) |
attrMax | 50 | Número máximo de flexfields permitidos |
Configurar Atributo de Nome de Usuário
Você precisa definir o atributo apmrum.username
para ativar a filtragem de dados de Monitoramento do Usuário Real por nome de usuário.
- Identifique a origem original do nome de usuário. Isso depende do aplicativo monitorado e do mecanismo de autenticação usado.
- Incorpore scripts nas páginas do aplicativo (ou na página inicial do aplicativo). Designe o valor de nome do usuário à variável
apmrum.username
. Isso disponibiliza o nome do usuário para geração de relatórios.
get
username
do Windows no Internet Explorer:var WinNetwork = new ActiveXObject("WScript.Network"); window.apmrum || (apmrum = {} ); apmrum.username = WinNetwork.UserName
get
username
lógica do código PHP:window.apmrum || (apmrum = {} ); apmrum.username = '<?php echo $username; ?>';
get
username
da página:Você pode usar isso se a página estiver usando DOM e a página contiver algo como:
<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;
Se você estiver usando aplicativos Oracle, consulte Soluções do APM para obter detalhes sobre como capturar o atributo de nome de usuário ao configurar a injeção automática no Agente do APM, dependendo do aplicativo Oracle específico.
Configurar Atributos Personalizados em Ambientes Legados
Se você migrou do produto Oracle Management Cloud Application Performance Monitoring para o serviço Oracle Cloud Infrastructure (OCI) Application Performance Monitoring, poderá usar as mesmas propriedades na configuração do OCI, conforme mostrado nesta seção.
Os valores desses atributos fornecem uma perspectiva mais próxima do desempenho do aplicativo no site do usuário. Esses atributos são exibidos como dimensões na interface do usuário do serviço Application Performance Monitoring, que pode ser usada para filtrar dados. Para adicionar os atributos, inclua o seguinte código JavaScript nas páginas que você deseja monitorar:
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 padrão, attribute1
será preenchido com o diretório de nível superior do URL e attribute2..9
permanecerá vazio e poderá ser configurado por você. No serviço Application Performance Monitoring, você pode configurar até nove atributos.
Por exemplo, no URL https://www.sample.com/calendar/render
, attribute1
será preenchido com a string calendar
.
O título do documento da página do aplicativo e o texto visível para o usuário podem ser úteis no relatório, mas podem conter informações de identificação pessoal (PII) que não podem ser capturadas por padrão. Se quiser capturar esses valores, você poderá usar a definição trackScreenText
que precisa ser definida explicitamente como verdadeira usando o seguinte: window.apmrum.trackScreenText=true
.
O título da página pode ser redefinido definindo o atributo apmrum.udfAttributeDt
. No relatório de contexto, os dados em attribute1
são mais genéricos, udfAttributeDt
é mais específico (nível de página) e apmrum.udfAttribute2
é considerado para apontar para/descrever aproximadamente a área em uma tela ativa durante uma chamada AJAX ou a área que é clicada.
A lógica de nomenclatura do elemento pode ser redefinida configurando o atributo getElmLabelFn
. Essa função recebe o 'Elemento' (destino do evento) que foi clicado/ativado pelo usuário como um argumento. Usando o atributo getElmLabelFn
, você tem mais controle sobre as informações relatadas e reduz o risco de expor PII acidentalmente.
Veja um exemplo:
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+"]";
}