다양한 유형의 에이전트 분산 추적을 이해하는 데 도움이 필요하면 분산 추적 작동 방식 을 참조하세요.
거래 및 HTTP 요청 계측
분산 추적이 최적으로 작동하려면 Go 애플리케이션이 다음 시나리오에 대한 지침을 준수해야 합니다.
Go의 http.ServeMux 를 사용 중이고 New Relic의 분산 추적을 활성화하려면 Go 애플리케이션이 New Relic의 WrapHandle 및 WrapHandleFunc 래퍼로 계측되어야 합니다. 이러한 래퍼는 자동으로 올바른 분산 추적 헤더를 추가하는 요청 및 응답 작성기로 트랜잭션을 시작하고 종료합니다. 헤더 전파 작동 방식에 대한 자세한 내용은 분산 추적 작동 방식 을 참조하세요.
// Distributed tracing headers are not added to the outgoing request.
// Use newrelic.NewRoundTripper or newrelicc.StartExternalSegment instead.
defer newrelic.ExternalSegment{
StartTime: txn.StartSegmentNow(),
URL: url,
}.End()
return http.Get(url)
}
분산 추적 페이로드에는 New Relic이 여러 서비스에서 발생하는 트랜잭션을 완전한 트랜잭션 추적으로 결합할 수 있도록 하는 정보가 포함되어 있습니다. New Relic이 모니터링하는 서비스가 서로에게 추적 컨텍스트를 보내지 않으면 불완전한 추적 세부 정보가 생성됩니다.
아래 API 호출을 사용하여 분산 추적을 구현하는 방법에 대한 일반적인 지침은 먼저 분산 추적 API 사용 을 참조하세요.