• 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

SPA 에이전트의 경로 변경 누락

문제

Pro + SPA 에이전트를 사용하고 있지만 예상한 모든 route change 브라우저 상호작용이 표시되지 않습니다.

우리는 이것이 실망스러울 수 있다는 것을 알고 있습니다. 2021년 내내 우리의 목표는 경로 변경을 감지하고 캡처하는 데 사용하는 방법부터 시작하여 SPA 기능 기능을 재평가하여 더 간단하고 안정적으로 만드는 것입니다. 또한 귀하의 피드백과 예제를 기반으로 새로운 프레임워크와 사용 사례를 테스트 제품군에 추가할 계획입니다. 이 작업에는 새 API와 프레임워크별 플러그인이 포함될 것입니다. 최신 업데이트에 대한 릴리스 정보 를 확인하십시오.

해결책

단기 솔루션

모든 경로 변경 사항이 캡처되었는지 확인하려면 SPA interaction() API 를 사용할 수 있습니다. 상호 작용 API를 사용하면 실제로 경로 변경이 감지되지 않는 경우 BrowserInteraction 이벤트( category 속성에서)를 route 변경이 아닌 custom 로 분류합니다.

프레임워크가 라우터 활동을 나타내는 이벤트를 노출하는 경우 이러한 이벤트에서 사용자 지정 계측을 사용할 수 있습니다. 다음은 Angular 라우터와 함께 API를 사용하는 예입니다.

router.events.subscribe( (event: Event) => {
if (event instanceof NavigationStart) {
let i = newrelic.interaction()
i.setName(event.url)
i.save()
}
});

이 예시에서 router 객체는 Angular 라우터( @angular/router 모듈에서)의 인스턴스입니다. setName 호출은 BrowserInteraction 이벤트의 이름 속성을 새 URL로 설정하고 save 호출은 상호작용이 캡처되도록 합니다. 자신의 응용 프로그램 프레임워크의 요구 사항에 맞게 이를 조정해야 합니다.

프레임워크가 라우팅 이벤트를 제공하지 않는 경우 click 과 같은 원래 상호작용 이벤트의 이벤트 핸들러에 다음 코드를 추가할 수 있습니다.

myButton.addEventListener('click', function () {
let i = newrelic.interaction()
i.setName(‘new URL')
i.save()
});

권장 사항: 라우터 이벤트나 상호 작용 이벤트 처리기에 액세스할 수 없는 경우 사용자 상호 작용의 결과임을 알고 있는 코드에서 최대한 빨리 구현하십시오.

SPA API 사용에 대한 대안은 경로를 PageAction 이벤트로 캡처하는 것입니다. PageAction 이벤트 를 사용하여 모든 맞춤 데이터를 캡처할 수 있습니다. SPA 상호 작용 API 사용이 예상대로 작동하지 않거나 기본 제공 BrowserInteraction 이벤트에서 사용자 정의 계측을 완전히 분리하는 경우에 대비하여 이 옵션을 권장합니다.

이러한 솔루션은 모두 이러한 이벤트가 BrowserInteraction 이벤트 또는 PageAction 이벤트로 캡처되도록 할 수 있습니다. 그러나 올바른 지속 시간 및 관련 AJAX 호출 녹음은 다루지 않습니다.

지원하다

이 해결 방법으로 문제가 해결되지 않으면 지원 티켓을 제출하고 다음 정보를 사용할 수 있도록 하십시오.

  • 대부분의 경로 변경 사항이 표시되지만 예상한 특정 경로 변경 사항이 없는 경우 해당 특정 경로에 대한 코드 구현의 차이점을 평가해 보십시오. 지원 팀에 제공할 수 있는 비표준 또는 고유한 경로가 있습니까?
  • 관심이 있을 수 있는 프레임워크 및 라이브러리를 문서화합니다. 이것이 새로운 문제인 경우 이러한 상호 작용이 갑자기 추적되지 않는 환경에서 변경된 사항이 있습니까?
  • 사용 중인 브라우저 에이전트 버전을 기록해 두십시오. 릴리스가 몇 개 이상 늦는 경우 유사한 문제가 이미 해결되었을 수 있으므로 최신 릴리스로 업데이트하는 것이 좋습니다.
  • 이러한 문제 진단의 복잡성으로 인해 팀은 테스트 및 연구를 위해 문제를 보여주는 환경 및 코드에 액세스해야 할 수 있습니다.

원인

브라우저 에이전트는 프레임워크에 구애받지 않고 코딩 모범 사례를 지원하려고 합니다. 그러나 예상한 경로 변경 사항을 수집하지 못하는 경우가 종종 있습니다. 구현은 가장 일반적인 비동기 브라우저 API 계측을 기반으로 합니다. 웹 애플리케이션이 일부 비동기식 API를 사용하거나 우리가 계측하지 않는 사용자 지정 또는 타사 코드를 사용하는 경우가 있으며 이로 인해 경로 변경이 부정확하거나 누락될 수 있습니다.

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.