중요
스크립팅된 API 모니터에서 사용자 지정 타이밍 세부 정보를 사용하려면 Node.js 16.10 런타임 이상 이 필요합니다.
$har 라이브러리를 사용하여 모니터와 모니터링 중인 응용 프로그램 간의 상호 작용에 대해 보고하는 사용자 지정 타이밍 기능이 있는 모니터를 만들 수 있습니다. 이러한 사용자 지정 타이밍은 기본 node.js 모듈 과 가져 오기 가능한 node.js 모듈 을 모두 사용합니다.
사용자 지정 타이밍 기능을 사용하여 모니터를 생성하면 다음을 수행할 수도 있습니다.
- 요청 완료 시간을 측정합니다. 예를 들어
dns
모듈을 사용하여 DNS 조회를 테스트합니다. - 폭포 보기의 일부로 New Relic UI에서 기본 타이밍 세부 정보가 있는 사용자 지정 타이머를 봅니다.
SyntheticRequest
이벤트를 사용하여 추세 및 알림 패턴을 추적합니다.
맞춤 타이머 설정
addResource()
또는 getResource()
을 사용하여 타이밍 리소스를 만듭니다. 이 타이머는 startTimer()
를 사용하여 시작합니다. 마찬가지로 stopTimer()
을 사용하여 이러한 타이머를 중지합니다.
타이밍 리소스를 생성하려면:
const testTimer = $har.addResource("Test Timer");testTimer.startTimer();await sleep(100);testTimer.endTimer();
또는 getResource()
을 사용하여 타이머를 만듭니다.
$har.getResource("Test Timer").startTimer();await sleep(100);$har.getResource("Test Timer").endTimer();
특정 타이밍 세부정보 검색
특정 스크립팅 요구 사항에 따라 다양한 속성을 통해 UI에 보다 세분화된 타이밍 세부 정보를 가져올 수 있습니다. 여기에는 다음이 포함됩니다.
blocked
dns
connect
ssl
send
wait
receive
예를 들어, 간단한 DNS 모니터에 타이머를 추가하려면:
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);