Importante
Para usar detalhes de tempo personalizados com seu monitor de API com script, você precisa do tempo de execução Node.js 16.10 ou mais recente.
Você pode usar a biblioteca $har para criar monitores com recursos de temporização personalizados que relatam a interação entre o monitor e o aplicativo que está sendo monitorado. Esses tempos personalizados usam o módulo node.js padrão e os módulos node.js importáveis.
A criação de um monitor com recursos de temporização personalizados também permite:
- Cronometre a conclusão de uma solicitação. Por exemplo, usando o módulo
dnspara testar pesquisas de DNS. - Visualize temporizadores personalizados com detalhes de tempo padrão na interface do New Relic como parte da visualização em cascata.
- Use o evento
SyntheticRequestpara acompanhar padrões de tendências e alertas.
Configure seus temporizadores personalizados
Crie seus recursos de tempo usando addResource() ou getResource(). Você inicia esses cronômetros usando startTimer(). Da mesma forma, você interrompe esses temporizadores usando stopTimer().
Para criar um recurso de tempo:
const testTimer = $har.addResource("Test Timer");testTimer.startTimer();await sleep(100);testTimer.endTimer();Como alternativa, crie um cronômetro usando getResource():
$har.getResource("Test Timer").startTimer();await sleep(100);$har.getResource("Test Timer").endTimer();Recuperar detalhes de tempo específicos
Dependendo de suas necessidades específicas de script, você pode obter detalhes de tempo mais granulares para a IU por meio de uma variedade de atributos. Esses incluem:
blockeddnsconnectsslsendwaitreceive
Por exemplo, para adicionar temporizadores a um monitor DNS simples:
const { Resolver } = require("dns").promises;const myResolver = new Resolver();
myResolver.setServers(["1.1.1.1"]);
const dnsResource = $har.addResource("DNS Lookup");dnsResource.startTimer();dnsResource.dns().startTimer();
let addresses = await myResolver.resolve4("newrelic.com");dnsResource.dns().endTimer();dnsResource.endTimer();console.log(addresses);