사용자 액세스 모니터링 샘플링 구성 방법¶
RUM 세션 샘플링은 데이터 수집 파이프라인에 유입되는 사용자 세션의 비율을 제어하는 데 사용됩니다. 샘플링 비율을 낮추면 수집량과 스토리지 비용을 줄일 수 있습니다.
세션 샘플링 구성¶
sessionSampleRate의 값 범위는 0부터 100까지입니다.
100: 모든 세션을 수집합니다.0: 일반 세션을 수집하지 않습니다.1~99: 각각의 새 세션은 구성된 비율에 따라 독립적으로 샘플링됩니다.
예를 들어, 웹 RUM 세션의 90%를 수집하려면 다음과 같이 설정합니다.
import { datafluxRum } from "@cloudcare/browser-rum"
datafluxRum.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
service: "browser",
env: "production",
version: "1.0.0",
sessionSampleRate: 90,
})
위 예시는 공용 OpenWay를 사용합니다. DataKit을 직접 연결할 때는 site와 clientToken을 datakitOrigin으로 대체하며, 두 가지 보고 주소를 동시에 구성하지 마십시오.
세션 생성 시 한 번의 무작위 샘플링이 수행됩니다. 샘플링 결과는 현재 세션의 수명 주기 동안 변경되지 않으며, 각 View, Error 또는 Resource에 대해 개별적으로 샘플링되지 않습니다.
세션 리플레이는 별도의 sessionReplaySampleRate를 사용합니다. sessionSampleRate만 수정해도 세션 리플레이 샘플링 비율이 자동으로 변경되지 않습니다.
런타임에 세션 다시 시작¶
RUM SDK 3.3.6부터 startSession()이 추가되었으며, 전체 RUM 패키지와 경량 RUM 패키지 모두 지원됩니다.
호출 시 현재 세션이 즉시 종료되고 현재 샘플링 구성에 따라 새 세션이 시작됩니다. 사용자의 다음 클릭, 스크롤 또는 키보드 조작을 기다릴 필요가 없습니다.
CDN 통합 시에도 동일한 API를 사용합니다.
적용 사례는 다음과 같습니다.
- 사용자가 로그인, 로그아웃 또는 계정을 전환한 후 이전과 이후의 세션을 분리해야 하는 경우
- 사용자가 개인정보 보호 또는 모니터링 정책에 동의한 후 즉시 세션 샘플링을 다시 실행해야 하는 경우
- 애플리케이션 실행 중 후속 세션의 수집 비율을 조정해야 하는 경우
런타임 샘플링 비율 재정의¶
호출 시 새로운 sessionSampleRate를 전달할 수 있습니다.
이 값은 다음에 모두 사용됩니다.
- 이번에 다시 시작하는 세션
- 이후 만료, 복구 또는 사용자 활동으로 인해 자동으로 재생성되는 세션
샘플링 비율은 0에서 100 사이여야 합니다. 유효하지 않은 값을 전달하면 SDK는 구성 오류를 출력하고 현재 세션을 유지하며 전환을 수행하지 않습니다.
startSession()은 RUM 세션만 전환합니다. 페이지를 새로 고치지 않으며 setUser(), Global Context 또는 기타 비즈니스 상태를 지우지 않습니다. 사용자가 계정을 전환할 때는 먼저 사용자 정보를 업데이트한 후 새 세션을 시작해야 합니다.
세션 ID와 샘플링 결과
startSession()은 세션 샘플링을 다시 수행합니다. 새 세션이 샘플링에 포함되면 새로운 session_id가 생성됩니다. 일반 또는 오류 보상 샘플링에 포함되지 않으면 보고 가능한 일반 RUM 세션이 생성되지 않습니다.
세션 리플레이와의 관계¶
startSession()은 sessionSampleRate만 재정의하며, sessionReplaySampleRate나 sessionReplayOnErrorSampleRate는 재정의하지 않습니다. 또한 startSessionReplayRecording()을 자동으로 호출하지 않습니다.
애플리케이션이 이미 startSessionReplayRecording()을 호출한 경우, 새 세션에서 리플레이 업로드가 허용되는지 여부는 새 세션의 샘플링 결과와 기존 리플레이 샘플링 구성에 따라 결정됩니다.
기타 애플리케이션 샘플링¶
- iOS 샘플링 설정은 iOS 앱 통합을 참조하십시오.
- Android 샘플링 설정은 Android 앱 통합을 참조하십시오.
- 미니 프로그램 샘플링 설정은 미니 프로그램 앱 통합을 참조하십시오.