브라우저 에이전트 적용
와탭 브라우저 모니터링 서비스를 사용하기 위해서는 회원 가입 후 프로젝트를 생성하고 웹 애플리케이션에 와탭 브라우저 에이전트를 적용해야 합니다.
다음 동영상 가이드를 참조하세요.
와탭 브라우저 에이전트 설치
에이전트 설치 화면의 안내에 따라 웹 애플리케이션에 적용할 와탭 브라우저 에이전트 코드를 적용하세요.

데이터 수집 샘플링
와탭 브라우저 에이전트는 사용자 세션을 기준으로 데이터를 수집합니다. 수집하는 전체 세션의 비율을 0부터 100까지 설정할 수 있습니다.
와탭 브라우저 에이전트 스크립트
와탭 브라우저 에이전트는 인라인 스크립트 형태로 제공합니다. 설치 안내에서 제공하는 스크립트 코드를 모니터링하려는 모든 HTML 페이지의 <head> 태그 내부 최상단에 추가하세요.
다음 두가지 방식 중 원하는 방식을 선택해 에이전트를 적용하세요.
-
Async(비동기 로드): 웹 애플리케이션에 와탭 브라우저 에이전트를 비동기 형태로 로드합니다.
-
웹 애플리케이션의 로드 성능에 영향을 미치지 않습니다.
-
브라우저 에이전트가 로드되기 전 발생한 AJAX, 에러 등의 데이터가 누락될 수 있습니다.
-
-
Sync(동기 로드): 웹 애플리케이션에 와탭 브라우저 에이전트를 동기 형태로 로드합니다.
-
웹 애플리케이션 로드 시 모든 데이터를 수집하려면 권장합니다.
-
웹 애플리케이션 로드에 영향을 미칠 수 있습니다.
-
설치 안내에서 제공하는 스크립트는 즉시 실행 함수의 인자로 에이전트 번들 경로와 설정 전역 객체 이름을 함께 넘깁니다. 두 값은 자리가 정해져 있습니다.
| Position | Value | Description |
|---|---|---|
| 4번째 인자 | 에이전트 번들 경로 | 에이전트 파일을 직접 호스팅한다면 이 자리를 변경 |
| 5번째 인자 | 'WhatapBrowserAgent' | 설정을 담 는 전역 객체 이름. 변경 금지 |
5번째 인자를 번들 경로로 바꾸면 에이전트가 설정 객체를 찾지 못해 초기화가 일어나지 않습니다. 이때 브라우저 콘솔에는 아무 메시지도 출력되지 않습니다. 데이터가 들어오지 않는데 오류도 보이지 않는다면 이 자리를 먼저 확인하세요.
와탭 브라우저 에이전트 옵션 설정
와탭 브라우저 에이전트에 적용할 옵션을 설정합니다. 옵션은 설치 스크립트의 Config 객체에서 설정할 수 있습니다. 프로젝트 액세스 키, 전체 사용자 세션 비율, 수집 제외 리소스 도메인 등을 설정할 수 있습니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
ignoreOrigins: [ 'https://ignore-site.com/', /^(https?://)([^/]*)(ignore-site.io)(/)(.*)/i ],
}
옵션 파라미터
projectAccessKey String required
프로젝트 액세스 키입니다. 프로젝트 설치 안내(관리 > 에이전트 설치)에서 확인할 수 있습니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
}
pcode Number required
프로젝트 액세스 키입니다. 프로젝트 설치 안내(관리 > 에이전트 설치)에서 확인할 수 있습니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
}
sampleRate Number required
수집하는 사용자 세션 비율을 설정할 수 있습니다. 0부터 100까지 설정할 수 있습니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
}
브라우저 에이전트의 sampleRate는 0~100 스케일입니다. 와탭 모바일 에이전트의 샘플링 설정(setSampling)은 0.0~1.0 스케일이라 기준이 서로 다릅니다. 모바일 쪽 값인 1.0을 sampleRate에 그대로 입력하면 경고 없이 전체 세션의 1%만 수집합니다. 두 에이전트를 함께 적용하는 WebView 환경에서 특히 헷갈리기 쉬운 부분입니다.
proxyBaseUrl String required
에이전트가 수집한 데이터를 전송하는 URL입니다. 프로젝트의 리전에 따라 값이 다르므로, 와탭 모니터링 서비스의 관리 > 에이전트 설치 화면에서 제공하는 스크립트의 값을 그대로 사용하세요.
에이전트 스크립트 파일 주소(<script src>)와는 다른 값입니다. 이 값을 잘못 설정하면 수집 데이터가 전송되지 않습니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
}
proxyBaseUrl은 모바일 앱 WebView 연동(isWebView: true)에서도 반드시 설정해야 합니다. 연동 상태에서는 실제 전송을 모바일 에이전트가 맡으므로 이 주소로 요청이 나가지는 않지만, 브라우저 에이전트는 이 값이 있어야 수집을 시작합니다. 값을 설정하지 않으면 브라우저 콘솔에 다음 경고가 출력된 뒤 데이터가 전혀 전송되지 않습니다.
[WhatapRUM] Config warning: proxyBaseUrl is not set -- RUM data transmission and health check are disabled.
브릿지에 도달하지 못한 구간의 폴백 전송도 이 주소로 나갑니다. 연동 적용에서도 유효한 값을 넣어야 데이터 유실을 막을 수 있습니다.
ignorePageUrls Array<string | RegExp> optional
수집에서 제외할 페이지 URL 목록입니다. 문자열 매칭은 startsWith 방식으로 이루어집니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
ignorePageUrls: ["https://test.webpage.com/", "http://localhost:2003/page1/", /^.localhost.$/i]
}
ignoreResources Array<string | RegExp> optional
수집에서 제외할 리소스 URL 목록입니다. 문자열 매칭은 startsWith 방식으로 이루어집니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
ignoreResources: ["https://test.web.com/yard/api/flush", "http://localhost:2003/whatap-browser-agent.js", /^.\/path1\/api.$/i]
}
ignoreErrors Array<string | RegExp> optional
수집에서 제외할 브라우저 에러 목록입니다. 문자열 매칭은 includes 방식으로 이루어집니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
ignoreErrors: ["cannot read", "cors", "basic"]
}
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
collectUserClick: true
}
sessionReplaySampleRate Number optional
기본값 0
세션 리플레이 데이터를 수집할 세션 비율입니다. 수집 대상 사용자 세션 중 0부터 100까지 설정할 수 있습니다.
예를 들어, sampleRate를 50으로 설정하고 sessionReplaySampleRate를 20으로 설정하면, 전체 세션의 50%가 수집 대상이 되며, 그 중 20%의 세션에서만 세션 리플레이 데이터를 수집합니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
sessionReplaySampleRate: 50
}
sessionReplayMaskAllTexts Boolean optional
기본값 true
값을 false로 설정하면 마스킹 처리 없이 모든 텍스트 데이터를 수집합니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
sessionReplaySampleRate: 50,
sessionReplayMaskAllTexts: false
}
sessionReplayMaskAllInputs Boolean optional
기본값 true
값을 false로 설정하면 마스킹 처리 없이 모든 입력(Input) 필드 영역의 데이터를 수집합니다.
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
sessionReplaySampleRate: 50,
sessionReplayMaskAllInputs: false
}
sessionReplayCollectAllBrowser Boolean optional
기본값 false
requestIdleCallback()을 지원하지 않는 브라우저에서도 세션 리플레이 데이터를 수집합니다. 예, Safari, Safari on iOS
config: {
projectAccessKey: {project_access_key},
pcode: {pcode},
sampleRate: 100,
proxyBaseUrl: "{proxy_base_url}"
sessionReplaySampleRate: 50,
sessionReplayCollectAllBrowser: true
}
ignoreStatusZero Boolean optional