RUM SDK는 샘플링 관련 몇 가지 환경변수가 존재한다.
Browser RUM의 경우 1)sampleRate를 통해 RUM 세션 자체에 대한 샘플레이트를 조절할 수 있다.
그리고 세션 재생(session replay)를 위한 2)sessionReplaySampleRate가 있다. 그리고 백앤드 서버와 Tracing을 위한 3)tracingSampleRate가 존재한다.
예를 들어 sampleRate는 50, sessionReplaySampleRate는 20을 설정하고, 총 요청 세션 수가 1,000이라고 가정 했을 때, 500개의 세션 정보가 Datadog에서 인덱싱 되고, 500개의 20%인 10개의 세션리플레이가 가능하다.
https://docs.datadoghq.com/real_user_monitoring/browser/
여기서 tracingSampleRate을 20으로 주었다면 이 역시 sampleRate 50에서 20%인 10개의 세션에 대해 트레이싱이 x-datadog-sampling-priority: 1 헤더를 달고 백앤드 APM에 전달된다.
(tracingSampleRate의 기본값은 100이며, 22년 6월 1일 APM 트레이스 인제스트 비용 추가로 인해 생긴 옵션)
그럼 백앤드 APM에서는 APM 고유 샘플링과 상관없이 RUM에서 발생된 세션에 대한 트레이싱을 수행한다.
https://docs.datadoghq.com/real_user_monitoring/connect_rum_and_traces/?tab=browserrum
Mobile RUM의 경우는 sessionReplay 기능이 없으니 해당 환경변수를 제외하고 동일하게 동작한다.
'UX' 카테고리의 다른 글
데이터독 Synthetic Test API(CI/CD) (0) | 2022.10.25 |
---|