Sintaxe
newrelic.addPageAction(string $name[, JSON object $attributes])
Relata um evento PageAction do browser junto com um nome e um atributo opcional.
Requisitos
Browser Pro ou agente Pro+SPA (v593 ou superior)
Se estiver usando o npm para instalar o agente browser, você deverá ativar o recurso
generic_events
ao instanciar a classeBrowserAgent
. Na matrizfeatures
, adicione o seguinte:import { GenericEvents } from '@newrelic/browser-agent/features/generic_events';const options = {info: { ... },loader_config: { ... },init: { ... },features: [GenericEvents]}Para obter mais informações, consulte a documentação de instalação do browser npm.
Descrição
Esta chamada de API envia um eventoPageAction
do browser com seu nome definido pelo usuário e um atributo opcional para o dashboard, junto com vários atributo padrão. Isso é útil para rastrear qualquer evento que ainda não tenha sido rastreado automaticamente pelo agente browser, como clicar em um botão Subscribe ou acessar um tutorial.
PageAction
evento são enviados a cada 30 segundos.- Se 1.000 eventos forem observados, o agente coletará o evento armazenado em buffer imediatamente, ignorando o intervalo do ciclo de coleta.
Importante
Em versões anteriores do agente, os eventos eram descartados após 120 serem observados. O limite de eventos foi aumentado de 120 para 1.000 na versão 1.264.0 e não são mais descartados.
Parâmetro
Parâmetro | Descrição |
---|---|
corda | Obrigatório. Nome ou categoria da ação. Reportado como o atributo Evite usar palavras NRQL reservadas ao nomear o atributo ou valor. |
Objeto JSON | Opcional. Objeto JSON com um ou mais pares de valores principais. Por exemplo: Evite usar palavras NRQL reservadas ao nomear o atributo/valor. |
Exemplos
Registrar cliques em links (JavaScript)
Este exemplo registra um evento PageAction sempre que um usuário seleciona o link Try Me . O evento é registrado com um actionName
de clickedTryMe
:
<a href="/demo" id="try-me">Try Me!</a><script> document.getElementById('try-me').addEventListener('click', function (e) { newrelic.addPageAction('clickedTryMe'); });</script>
Você pode então consultar o número de vezes que o botão Try Me foi clicado com a seguinte consulta NRQL:
SELECT count(*) FROM PageAction WHERE actionName = 'clickedTryMe' SINCE 1 hour ago
Registrar cliques em links (jQuery)
Este exemplo envia um evento PageAction quando um usuário clica em um elemento com a classe copy-text
. O actionName
é copy-text-button
e o valor é relatado como outro atributo chamado Result
que corresponde aos métodos chamados success
e error
que tratam do resultado.
$('.copy-text').click(function() { var clipboard = new Clipboard('.copy-text'); clipboard.on('success', function(event) { // Do stuff // Report data to New Relic if (typeof newrelic == 'object') { newrelic.addPageAction('copy-text-button', { result: 'success' }); } }); clipboard.on('error', function(event) { // Do stuff // Report data to New Relic if (typeof newrelic == 'object') { newrelic.addPageAction('copy-text-button', { result: 'error' }); } });});
Em seguida, no criador de consulta, você pode criar um gráfico de pizza para ver o detalhamento de quantos cliques em botões resultaram em sucesso versus erro nos últimos 30 dias:
SELECT count(*) AS 'Clicks' FROM PageAction WHERE actionName = 'copy-text-button' FACET result SINCE 30 days ago
Ou você pode criar uma consulta para ver quais páginas tiveram mais cliques no botão copiar nos últimos 30 dias:
SELECT count(*) AS 'Clicks' FROM PageAction WHERE actionName = 'copy-text-button' FACET currentUrl SINCE 30 days ago
Capturar entrada do formulário
Este exemplo captura a entrada do usuário (endereços de e-mail) de um formulário chamado Signup. O evento é registrado com um actionName
de userSignup
:
<form action="/signup" id="myform"> <input id="email" name="email" /> <input type="submit" value="Signup" /></form><script type="text/javascript"> document.getElementById('myform').addEventListener('submit', function (e) { var email = e.target.elements['email'].value; newrelic.addPageAction('userSignup', { email: email }); });</script>
Você pode então ver os e-mails coletados com a seguinte consulta NRQL:
SELECT uniques(email) FROM PageAction WHERE actionName = 'userSignup' SINCE 1 hour ago