Importante
Para usar detalles de sincronización personalizados con su monitor API con script, necesita el tiempo de ejecución Node.js 16.10 o más reciente.
Puede usar la biblioteca $har para crear un monitor con capacidades de sincronización personalizadas que informen sobre la interacción entre el monitor y la aplicación que se está monitoreando. Estos tiempos personalizados utilizan tanto el módulo node.js predeterminado como los módulos node.js importables.
Crear un monitor con capacidades de sincronización personalizadas también le permite:
- Cronometrar la finalización de una solicitud. Por ejemplo, usar el módulo
dns
para probar búsquedas de DNS. - Vea temporizadores personalizados con detalles de tiempo predeterminados en la UI de New Relic como parte de la vista en cascada.
- Utilice
SyntheticRequest
evento para realizar un seguimiento de las tendencias y los patrones de alertas.
Configure sus temporizadores personalizados
Cree sus recursos de sincronización usando addResource()
o getResource()
. Estos temporizadores se inician utilizando startTimer()
. Del mismo modo, puedes detener estos temporizadores usando stopTimer()
.
Para crear un recurso de sincronización:
const testTimer = $har.addResource("Test Timer");testTimer.startTimer();await sleep(100);testTimer.endTimer();
Alternativamente, cree un temporizador usando getResource()
:
$har.getResource("Test Timer").startTimer();await sleep(100);$har.getResource("Test Timer").endTimer();
Recuperar detalles de tiempo específicos
Dependiendo de sus necesidades específicas de secuencia de comandos, puede extraer detalles de sincronización más granulares en la UI a través de una variedad de atributos. Éstas incluyen:
blocked
dns
connect
ssl
send
wait
receive
Por ejemplo, para agregar temporizadores a un monitor DNS simple:
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);