• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

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

문제

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

우리는 이것이 실망스러울 수 있다는 것을 알고 있습니다. 우리의 지속적인 목표는 경로 변경을 감지하고 캡처하는 데 사용하는 방법부터 시작하여 SPA 기능 기능을 개선하여 더 간단하고 안정적으로 만드는 것입니다.

해결책

단기 솔루션

모든 경로 변경 사항이 캡처되었는지 확인하려면 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 © 2024 New Relic Inc.

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