콘텐츠로 이동

업데이트 로그


2026/09/16

Browser SDK 3.3.16 추가 및 개선:

  1. 전체 RUM 패키지와 슬림 RUM 패키지가 WebView에서 App의 Visitor ID를 재사용할 수 있습니다. visitorId.enabled를 활성화하고 현재 도메인이 네이티브 브리지 허용 목록 검증을 통과했으며, App이 동기식 FTWebViewJavascriptBridge.getVisitorid() 인터페이스를 제공하고 유효한 식별자를 반환하면, 규칙에 해당하는 XHR, Fetch 요청 헤더 및 RUM context.visitor_id에서 해당 식별자를 우선 사용합니다. 브리지를 사용할 수 없거나 반환값이 유효하지 않거나 읽기에 실패하면 기존 Web 식별자로 폴백합니다. 네이티브 식별자의 유효 기간과 교체는 App이 관리하며, 유효한 네이티브 식별자를 읽으면 Web resetVisitorId()가 단독으로 식별자를 교체하지 않습니다. 이 기능을 사용하려면 해당 인터페이스를 지원하는 모바일 SDK가 함께 필요합니다.
  2. 첫 번째 View의 보고 시점을 개선했습니다. 초기 페이지 및 라우트 전환 시 생성되는 View는 처음으로 샘플링과 전송 조건을 충족하면 배치 전송 간격을 기다리지 않고 즉시 보고하도록 예약됩니다. 이후 업데이트는 기존 주기에 따라 병합되어 보고됩니다. 페이지가 숨겨지거나 종료될 때 각 View의 최신 상태를 유지하며, 압축 업로드 및 압축 실패 폴백을 지원해 짧은 방문과 빠른 페이지 전환 시 View 누락을 줄입니다.
  3. 강제 Session과 오류 보상 샘플링의 상호작용을 수정했습니다. setForcedSession() 또는 startSessionReplayRecording({ force: true }) 호출 후 현재 Session의 RUM 데이터와 이미 시작된 Replay는 오류를 기다리지 않고 보고되며, 기존 오류 리플레이 버퍼를 해제합니다. 또한 탭 간 Session 전환, 만료 지연 시 재개 경계, 강제 Session 종료 후 새 Session의 오류 표시와 보상 보고도 함께 수정했습니다. setForcedSession() 자체는 Replay 녹화를 시작하지 않으며, 이후 Session은 설정된 샘플링 규칙을 따릅니다.
  4. 일부 JavaScript 오류에 오류 메시지만 있고 위치 정보가 누락되는 문제를 수정했습니다. Error.stack에서 스택 프레임을 파싱할 수 없는 경우, 브라우저가 window.onerror를 통해 제공하는 스크립트 주소, 행 번호 및 사용 가능한 열 번호를 유지하여 스크립트 구문 오류 등의 시나리오를 포함합니다. 기존 스택은 그대로 유지되며, 브라우저가 제공하지 않은 위치 정보는 임의로 보완하지 않습니다.
  5. Session Replay에서 큰 스타일시트가 누락될 수 있는 문제를 수정했습니다. DOM과 CSS의 합계가 전체 스냅샷 용량 제한을 초과하지 않는 경우, 큰 외부 및 인라인 CSS를 유지하여 개별 스타일시트의 규칙 수, 문자 수, 처리 시간 제한 또는 일반 문자열 길이 제한으로 인한 리플레이 스타일 누락을 줄입니다. 개인정보 처리와 전체 용량 보호는 계속 유지되며, 스타일시트를 읽을 수 없거나 용량을 초과하면 기존 폴백 로직을 따릅니다.
  6. Core, 전체 RUM, 슬림 RUM, Logs의 공개 TypeScript 선언을 런타임 API와 일치하도록 수정했습니다. 전체 및 슬림 RUM 패키지는 TraceType을 직접 가져올 수 있으며, traceType는 지원되는 문자열 값을 허용합니다. 기존 설정 별칭, 공용 타입 내보내기, Logs의 'all' 전달 설정 및 로그 레벨 메서드 선언을 보완하여 기존 정상 사용에서 발생하는 타입 오류를 줄입니다.
  7. JSON 보고 요청의 Content-Type을 application/json;charset=UTF-8로 수정했으며, 압축 업로드 시나리오에도 동일하게 적용됩니다.
  8. SDK 저장소에 성능 평가 보고서와 CDN 및 npm 연동을 위한 성능 자가 점검 가이드를 추가하고, performance/ 디렉터리에 통합하여 SDK가 페이지 성능에 미치는 영향을 평가할 수 있도록 했습니다.

2026/09/07

RUM SDK 3.3.15 추가 및 개선:

  1. visitorId 설정을 추가하여 규칙에 해당하는 XHR 및 Fetch에 안정적인 익명 방문자 식별자를 주입하고, RUM context.visitor_id에 해당 값을 연결합니다. 동일 Origin 문자열 접두사, 정규식, 함수 매칭과 TTL, 저장소 폴백, resetVisitorId() 교체를 지원하며, Session 또는 분산 추적 샘플링에 의존하지 않습니다. 방문자 식별자 Visitor ID
  2. Visitor ID는 Fetch 매개변수와 XHR 동기 콜백의 요청 의미를 유지하며, 매칭되지 않은 요청은 기존 커스텀 헤더를 유지합니다. 동일 타임스탬프에서 교체할 때 이전 폴백 ID로 복구되지 않으며, 리소스 연관 헤더를 점유하지 않고 View/이벤트 컨텍스트가 SDK 식별자를 덮어쓰지 않도록 방지합니다.
  3. iframe 간 Request의 비즈니스 요청 헤더 유지, XHR 동기 실패 후 재시도 시 식별자 중복, 네이티브 WeakSet이 없는 환경에서 Visitor ID 초기화 호환성 문제를 수정했습니다. 또한 초기화 전 버퍼링된 이벤트의 식별자를 보완하고, RUM 공용 컨텍스트를 읽을 때마다 전역 필드를 반복적으로 깊은 복사하지 않도록 개선했습니다.

2026/08/31

RUM SDK 3.3.14 추가 및 개선:

  1. enablePrivacyForActionName 설정을 추가했습니다. 기본값은 비활성화입니다. 활성화하면 자동 Action 이름이 DOM 개인정보 보호 수준을 따릅니다. 마스킹된 콘텐츠는 고정된 플레이스홀더 이름을 사용하고, 비공개 폼 필드는 텍스트나 표준 명명 속성을 노출하지 않으며, 숨겨진 하위 트리에서의 클릭은 자동 Action을 생성하지 않습니다. 명시적으로 지정한 비즈니스 이름은 숨겨지지 않은 노드에서 계속 사용할 수 있습니다. 사용자 작업 Action

2026/08/28

RUM SDK 후속 버전 추가 및 개선:

  1. 브라우저가 User-Agent Client Hints를 제공하면 platformVersion을 통해 Windows 10과 Windows 11을 구분하고, 첫 번째 RUM 데이터 배치가 동일한 시스템 버전 정보를 사용하도록 보장합니다. 해당 기능을 지원하지 않거나 높은 엔트로피 값 반환을 거부하거나 조회 시간이 초과되면 기존 User-Agent를 계속 사용합니다. RUM 데이터 구조

2026/08/26

RUM SDK 3.3.11 추가 및 개선:

  1. 무제(Wujie) 등 마이크로 프런트엔드에서 Session Replay가 iframe 간 JavaScript realm 요소를 인식하지 못하는 문제를 수정했습니다. iframe realm에서 생성되어 현재 페이지의 open ShadowRoot에 마운트된 네이티브 폼 입력, DOM 변경 및 활성화된 Canvas 녹화가 이제 정상적으로 리플레이에 포함됩니다. 폼 요소의 value, checked, selectedIndex 속성 할당도 기록할 수 있습니다. Canvas 명령 수집 모드에서는 realm 간 Canvas에 자동으로 비트맵 스냅샷 폴백을 사용합니다. 이 기능에는 iframe 내부 문서나 closed Shadow DOM은 포함되지 않습니다. Session Replay 연동 안내

RUM SDK 3.3.10 추가 및 개선:

  1. 자동 Action이 open Shadow DOM 내부의 클릭 요소를 지원합니다. iframe의 JavaScript realm에서 생성된 후 ShadowRoot에 마운트된 요소(예: 무제 마이크로 프런트엔드)도 포함됩니다. SDK는 실제 클릭 대상을 기준으로 이름과 Shadow 경계를 포함한 위치 정보를 생성하며, 테이블 행, 카드 등 컨테이너의 집계 텍스트를 Action 이름으로 잘못 사용하지 않도록 방지합니다. Closed Shadow DOM은 여전히 브라우저 캡슐화 경계의 제한을 받습니다. 사용자 작업 Action

2026/08/25

RUM SDK 3.3.9 추가 및 개선:

  1. SPA route_change View가 Chrome Soft Navigation API를 지원합니다. 브라우저에서 네이티브로 지원하는 경우 라우트 전환 시 FCP, LCP, LCP 요소 선택기 및 view_navigation_type을 추가할 수 있습니다. 네이티브 API를 지원하지 않는 경우에는 Navigation API, History API 또는 Hash 라우트 호환 로직을 통해 Route View를 계속 생성하고 push, replace, traverse 탐색 유형을 유지하지만, 해당 라우트의 FCP/LCP는 추가하지 않습니다. RUM 데이터 구조
  2. 페이지가 지속적으로 업데이트되는 동안 View 데이터가 지연 보고될 수 있는 문제를 수정했습니다. 전송 대기 중인 View가 업데이트되어도 기존 배치의 보고 마감 시간을 따르며, 기존 전송 간격에 따라 최신 데이터를 보고하도록 보장합니다.

2026/08/20

RUM SDK 3.3.8 추가 및 개선:

  1. WebSocket Resource에 세그먼트 종료 페이지 경로 필드 resource_websocket_end_view_path를 추가했습니다. 세그먼트 시작 경로는 표준 필드 view_path를 재사용하며, Resource 탐색기에서 연결 시작 또는 종료 페이지를 기준으로 필터링할 수 있습니다. WebSocket 장기 연결 수집

2026/08/11

RUM SDK 3.3.7 추가 및 개선:

  1. 선택적 WebGL/WebGL2 Session Replay 플러그인을 추가했습니다. NPM과 CDN으로 연동할 수 있으며, 드로잉 기반의 예산 제약형 픽셀 스냅샷을 통해 게임 및 시각화 화면을 기록합니다. WebGL 구현은 RUM 메인 패키지와 분리되어 있어 WebGL을 사용하지 않는 애플리케이션은 플러그인을 도입할 필요가 없습니다. Canvas 녹화 사용 가이드
  2. allowTraceHeaderWithoutSession 설정을 추가했습니다. 활성화하면 현재 RUM Session이 샘플링에 포함되지 않더라도 allowedTracingUrls에 해당하는 XHR 및 Fetch 요청에 Trace Header를 주입할 수 있습니다. 이로 인해 Session이 생성되거나 강제로 활성화되지 않으며, 샘플링되지 않은 Session의 RUM 데이터도 보고되지 않습니다. Web 애플리케이션 연동
  3. Canvas 2D 자동 녹화와 command capture를 개선하고, 더 많은 드로잉 API와 상태를 보완했습니다. 부분 변경이나 투명도 변경 누락, 비동기 프레임 순서 뒤섞임, 크기 조정 시 스냅샷 덮어쓰기 불완전, reset과 bitmap 분리 전송으로 인한 깜빡임을 수정했습니다. 여러 Canvas에는 공정 스케줄링, 변경 감지, 유계 동시성을 적용하여 동적 화면의 연속성과 페이지 성능을 모두 고려했습니다. Canvas 녹화 사용 가이드
  4. 대형 DOM, 동적 Shadow DOM 및 스타일시트 리플레이를 개선했습니다. 큰 스냅샷과 갑작스러운 DOM 변경에는 분할, 원자적 커밋, 베이스라인 복구를 적용하여 노드 이동이 "삭제 후 추가"로 분리되면서 발생하는 페이지 흔들림과 큰 요소 또는 CSS 스타일 누락을 줄입니다. Session Replay 연동 안내
  5. 압축 업로드와 Session Replay 전송 안정성을 강화했습니다. 압축 Worker에 예외가 발생하면 자동으로 비압축 업로드로 폴백하여 View, Action, Error, Resource 등 RUM 데이터의 손실을 방지합니다. 또한 인코딩 백프레셔, 네트워크 재시도, 페이지 종료 상황에서 Replay 베이스라인과 후속 세그먼트 순서를 유지하여 불완전하거나 누락된 리플레이를 줄입니다.
  6. Hash Router View URL의 쿼리 매개변수 파싱을 수정했습니다. 이제 #/path?key=value의 매개변수가 View URL Query에 올바르게 기록됩니다. RUM 데이터 구조

업그레이드 안내: WebGL Replay는 SDK 3.3.7부터 제공되며, RUM 메인 패키지 버전이 >= 3.3.7이어야 합니다. 플러그인과 메인 패키지는 동일한 SDK 릴리스 버전을 사용할 것을 권장합니다. 플러그인은 Canvas auto 모드에서만 동작하며, init() 시 등록하고 WebGL 엔진 초기화보다 먼저 실행되어야 합니다. GL 명령 재생, 프레임별 비디오 또는 OffscreenCanvas 녹화는 제공하지 않습니다.

Canvas 2D에서 명명된 품질 프리셋을 사용하지 않을 때 자동 수집 interval/cooldown 기본값이 1000/1000 ms에서 250/250 ms로 조정됩니다. low, medium, high 프리셋도 더 빠른 Canvas 2D 스케줄링을 사용합니다. 동적 화면은 더 연속적이지만 CPU, 인코딩 및 업로드 오버헤드가 증가할 수 있습니다. WebGL에서 interval/cooldown을 명시적으로 설정하지 않으면 기존의 보수적인 GPU 리드백 주기를 유지합니다.

replayCanvasSampling의 양수 값은 snapshot 경로를 선택하는 데 사용되며 수집 빈도를 나타내지 않습니다. 빈도는 interval, cooldown, backoff로 제어됩니다. replayCanvasQuality의 문자열 프리셋은 품질, sampling, 스케줄링 예산을 함께 조정하며, 숫자 값은 인코딩 품질만 조정합니다.


2026/07/29

RUM SDK 3.3.6 추가:

  1. React, Vue, Angular, Next.js, Nuxt 프레임워크 플러그인을 추가했습니다. 라우트 템플릿 기반의 View 수집을 지원하며, 각 프레임워크에 대응하는 오류 진입점을 제공합니다. 연동 안내
  2. Next.js App Router, Pages Router 및 Nuxt 3/4 클라이언트 통합을 지원합니다. SSR 연동 안내
  3. 실험적인 네이티브 WebSocket 장기 연결 수집을 추가했습니다. 연결 통계를 RUM Resource로 집계합니다. WebSocket 장기 연결 수집
  4. startView()가 url을 통해 View URL을 지정할 수 있도록 지원합니다. 수동 View와 프레임워크 Router 통합에 사용할 수 있습니다. 사용자 지정 View
  5. startSession()을 추가했습니다. 현재 Session을 즉시 종료하고 세션 샘플링을 다시 실행할 수 있으며, 런타임에 sessionSampleRate를 재정의할 수 있습니다. 샘플링 및 런타임 Session 제어

2026/06/30

RUM SDK 3.3.3 추가:

  1. 슬림 버전 RUM SDK를 추가했습니다. NPM 및 CDN 연동을 지원하며, View, Resource, Long Task, Error, Action, Context, 사용자 지정 이벤트, 분산 추적 등 일반적인 RUM 기능을 유지합니다. Session Replay, Canvas 녹화, compressIntakeRequests 보고 압축은 포함하지 않습니다. 슬림 버전 RUM SDK 연동 안내

2026/04/17

Canvas SessionReplay 녹화 기능이 추가되었습니다. 참조 Resource Hook 기능이 추가되었습니다. 참조


2025/04/23

remoteConfiguration 설정이 추가되어 데이터 수집 설정을 원격으로 동적으로 수정할 수 있습니다.


2025/04/13

  1. shouldMaskNode 설정이 추가되어 session replay 노드 마스킹 효과를 사용자 지정할 수 있습니다.
  2. sessionOnErrorSampleRate 설정이 추가되어 오류 세션 이벤트만 수집할 수 있습니다. 참조
  3. sessionReplayOnErrorSampleRate 설정이 추가되었습니다. 오류와 관련된 Session Replay 데이터만 수집할 수 있습니다. 참조

2022/9/29

초기화 매개변수에 isIntakeUrl 설정이 추가되었습니다. 요청 리소스 URL을 기준으로 해당 리소스 데이터를 수집할지 여부를 판단하며, 기본적으로 모두 수집합니다.


2022/3/10

  1. traceType 설정이 추가되어 분산 추적 도구 유형을 지정할 수 있습니다. 설정하지 않으면 기본값은 ddtrace입니다. 현재 6가지 데이터 유형을 지원합니다: ddtrace, zipkin, skywalking_v3, jaeger, zipkin_single_header, w3c_traceparent.
  2. allowedTracingOrigins 설정이 추가되었습니다. Trace 수집기에 필요한 header를 주입할 수 있는 모든 요청 목록을 지정합니다. 요청의 origin 또는 정규식을 사용할 수 있습니다.
  3. 기존 설정 항목 allowedDDTracingOrigins와 새 설정 항목 allowedTracingOrigins는 동일한 기능 설정입니다. 둘 중 하나만 구성하면 되며, 둘 다 구성한 경우 allowedTracingOrigins가 allowedDDTracingOrigins보다 우선 적용됩니다.

2021/5/20

  1. V2 버전 메트릭 데이터 변경에 맞춰 DataKit 1.1.7-rc0 이후 버전으로 업그레이드해야 합니다. 자세한 내용은 DataKit 설정을 참조하세요.
  2. SDK가 V2 버전으로 업그레이드되면서 CDN 주소가 https://static.guance.com/browser-sdk/v2/dataflux-rum.js로 변경되었습니다.
  3. rum_web_page_performance, rum_web_resource_performance, js_error, page 메트릭 데이터 수집이 제거되고, view, action, long_task, error 메트릭 데이터 수집이 추가되었습니다.
  4. 초기화에 trackInteractions 설정이 추가되었습니다. Action(사용자 행동 데이터) 수집을 활성화하는 데 사용되며, 기본값은 비활성화 상태입니다.

문서 평가

이 페이지가 도움이 되었나요?