문제
브라우저 앱에 대한 AJAX 데이터 가 표시되지 않습니다.
해결책
) 사용하여 로그를 추가하고 다른 Pro 기능 에 대한 데이터를 올바르게 수집하는 경우 다음 단계를 따르세요.
브라우저의 개발자 콘솔을 사용하여 페이지가 올바르게 계측되었는지 확인하세요. 콘솔에 XMLHttpRequest
및/또는 fetch
입력합니다.
계측이 성공하면 콘솔은 다음과 같은 내용을 반환해야 합니다.
// XMLHttpRequest ƒ (e){const t=new o(e),n=r.context...
// fetch ƒ (){var t=3,n=(0,r().getTrace...
계측이 실패하면 다음과 같이 표시됩니다.
// XMLHttpRequestƒ XMLHttpRequest() { [native code] }
// fetch ƒ fetch() { [native code] }
이러한 유형의 실패가 표시되거나 다른 응답이 표시되면 AJAX 계측이 비활성화되었거나 New Relic 계측과 충돌하는 다른 스크립트 또는 라이브러리를 사용하고 있을 수 있습니다.
AJAX 계측은 라이트 에이전트에 포함되지 않습니다. 브라우저 콘솔 개발 도구를 열고 newrelic.initializedAgents
객체를 확인하세요. 이 개체에는 페이지에서 실행 중인 모든 에이전트에 대한 항목이 포함되어 있습니다. 일반적으로 페이지에는 에이전트가 하나만 있습니다. runtime
객체에 대해 초기화된 에이전트 객체를 검사하십시오. 이 객체에는 loaderType
와 같이 실행 중인 에이전트에 대한 정보가 포함되어 있습니다. loaderType
이 lite
인 경우 AJAX 계측은 사용 중인 에이전트에 포함되지 않습니다.
loaderType
가 lite
이 아닌 경우 config
및 features
객체에 대해 초기화된 에이전트를 확인할 수도 있습니다. config
객체에는 enabled
부울이 있는 ajax
객체를 포함하여 에이전트의 런타임 구성이 포함됩니다. features
객체에는 ajax
항목을 포함하여 에이전트가 초기화한 각 기능에 대한 항목이 포함되어야 합니다. 이 Ajax 객체에 true
및 featAggregate
항목의 부울 enabled
포함되어 있는지 확인하세요. 이러한 항목 중 하나라도 true가 아닌 경우 브라우저 엔터티에 대한 New Relic의 구성 변경으로 인해 AJAX 계측이 초기화되지 않았을 수 있습니다. 또는 HTML에 복사/붙여넣은 NREUM.init
객체에 대한 수동 변경이 있을 수 있습니다.
AjaxRequest 이벤트를 생성할 때 특정 도메인과 경로를 무시하도록 에이전트를 구성할 수 있습니다.
브라우저의 개발자 콘솔에서 newrelic.init
실행하여 현재 AJAX 거부 목록 규칙을 확인하세요. deny_list
라는 배열이 포함된 ajax
속성을 찾습니다.
거부 목록에 익숙하지 않은 항목이 있거나 AJAX 호출이 필터링되도록 하는 항목이 있으면 AjaxRequest 이벤트 필터링 설명서를 검토하여 추가 지침을 확인하세요.
개체가 올바르게 계측된 경우 브라우저의 개발자 도구에서 네트워크 트래픽을 모니터링하는 동안 응용 프로그램에서 AJAX 호출을 트리거해 보십시오. 최대 1분 동안 기다렸다가 xhr
매개변수를 사용하여 bam.nr-data.net/jserrors
에 대한 호출을 찾습니다. 호출이 실패하면 네트워크 문제를 확인하십시오.
이 호출이 표시되지 않거나 네트워크 액세스와 관련 없는 오류로 인해 실패하거나 성공했지만 여전히 데이터가 표시되지 않는 경우 문제 해결 설명서를 계속 진행하세요.
요청에서 JSONP를 사용하는 경우 아래 기능에 대한 요구 사항 및 참고 사항을 참조하세요.
요청에서 JSONP를 사용하는 경우 이러한 요청은 AJAX UI 페이지 에 표시되지 않습니다. 그러나 세션 트레이스 내에서는 자산으로 볼 수 있습니다. SPA 모니터링을 사용하는 경우 Page views 페이지의 Breakdown 탭에서 볼 수 있습니다.
JSONP를 인식하기 위한 요구 사항:
- 각 JSONP 요청은 고유한 콜백 함수를 사용해야 합니다. jQuery와 같은 가장 인기 있는 라이브러리는 각 요청에 대해 동적으로 고유한 콜백 함수를 생성합니다.
- New Relic에서 인식되려면 콜백 함수 이름이 포함된 쿼리 문자열의 이름을
"callback"
또는"cb"
로 지정해야 합니다. 이는 가장 널리 사용되는 라이브러리의 기본 동작입니다.
이러한 문제 해결 단계 중 하나라도 실패하거나 AJAX 데이터 누락 문제가 계속 발생하는 경우 support.newrelic.com 에서 지원을 받으십시오.