CloudWatch RUM 웹 클라이언트에서 수집한 정보
이 섹션에서는 PutRumEvents 스키마 즉, CloudWatch RUM을 사용하여 사용자 세션에서 수집할 수 있는 데이터의 구조를 정의합니다.
PutRumEvents 요청은 다음 필드가 있는 데이터 구조를 CloudWatch RUM으로 보냅니다.
이 RUM 이벤트 배치의 ID
다음을 포함하는 앱 모니터 세부 정보:
앱 모니터 ID
모니터링된 애플리케이션 버전
다음을 포함하는 사용자 세부 정보. 이 정보는 앱 모니터에 쿠키가 활성화된 경우에만 수집됩니다.
웹 클라이언트에서 생성된 사용자 ID
세션 ID
이 배치의 RUM 이벤트 배열
RUM 이벤트 스키마
각 RUM 이벤트의 구조에는 다음 필드가 포함됩니다.
이벤트 ID
타임스탬프
이벤트 유형
사용자 에이전트
RUM 이벤트 메타데이터
메타데이터에는 페이지 메타데이터, 사용자 에이전트 메타데이터, 지리적 위치 메타데이터 및 도메인 메타데이터가 포함됩니다.
페이지 메타데이터
페이지 메타데이터에는 다음이 포함됩니다.
페이지 ID
페이지 제목
상위 페이지 ID입니다. – 이 정보는 앱 모니터에 쿠키를 사용하도록 설정한 경우에만 수집됩니다.
상호 작용 깊이 - 이 정보는 앱 모니터에 쿠키가 사용하도록 설정된 경우에만 수집됩니다.
페이지 태그 - 페이지 이벤트에 태그를 추가하여 페이지를 그룹화할 수 있습니다. 자세한 내용은 페이지 그룹 사용 단원을 참조하십시오.
사용자 에이전트 메타데이터
사용자 에이전트 메타데이터에는 다음이 포함됩니다.
브라우저 언어
브라우저 이름
브라우저 버전
운영 체제 이름
운영 체제 버전
디바이스 유형
플랫폼 유형
지리적 메타데이터
지리적 메타데이터에는 다음이 포함됩니다.
국가 코드
세분화 코드
도메인 메타데이터
도메인 메타데이터에는 URL 도메인이 포함됩니다.
RUM 이벤트 세부 정보
이벤트 세부 정보는 이벤트 유형에 따라 다음 유형의 스키마 중 하나를 따릅니다.
세션 시작 이벤트
이 이벤트에는 필드가 없습니다. 이 정보는 앱 모니터에 쿠키가 활성화된 경우에만 수집됩니다.
페이지 보기 스키마
페이지 보기(Page view) 이벤트에는 다음과 같은 속성이 포함됩니다. 웹 클라이언트를 구성하여 페이지 보기 모음을 비활성화할 수 있습니다. 자세한 내용은 CloudWatch RUM 웹 클라이언트 설명서
명칭 | 유형 | 설명 |
---|---|---|
페이지 ID |
String |
애플리케이션 내에서 이 페이지를 고유하게 나타내는 ID. 기본적으로 URL 경로입니다. |
상위 페이지 ID |
String |
사용자가 현재 페이지로 이동할 때 사용했던 페이지 ID. 이 정보는 앱 모니터에 쿠키가 활성화된 경우에만 수집됩니다. |
상호 작용 깊이 |
String |
이 정보는 앱 모니터에 쿠키가 활성화된 경우에만 수집됩니다. |
JavaScript 오류 스키마
에이전트에서 생성된 JavaScript 오류 이벤트에는 다음 속성이 포함됩니다. 웹 클라이언트는 오류 원격 측정을 수집하도록 선택한 경우에만 이러한 이벤트를 수집합니다.
명칭 | 유형 | 설명 |
---|---|---|
오류 유형 |
String |
오류 이름(존재하는 경우). 자세한 내용은 Error.prototype.name 일부 브라우저는 오류 유형을 지원하지 않을 수 있습니다. |
오류 메시지 |
String |
오류 메시지 자세한 내용은 Error.prototype.message 여러 브라우저에서 오류 메시지가 일관되지 않을 수 있습니다. |
스택 추적 |
String |
오류의 스택 추적이 있는 경우 150자로 잘립니다. 자세한 내용은 Error.prototype.stack 일부 브라우저는 스택 추적을 지원하지 않을 수 있습니다. |
DOM 이벤트 스키마
에이전트에서 생성된 문서 객체 모델(DOM) 이벤트에는 다음과 같은 속성이 포함되어 있습니다. 이러한 이벤트는 기본적으로 수집되지 않습니다. 상호 작용 원격 측정을 활성화하는 경우에만 수집됩니다. 자세한 내용은 CloudWatch RUM 웹 클라이언트 설명서
명칭 | 유형 | 설명 |
---|---|---|
이벤트 |
String |
클릭, 스크롤 또는 마우스오버와 같은 DOM 이벤트의 유형. 자세한 내용은 이벤트 참조 |
Element |
String |
DOM 요소 유형 |
ID 요소 |
String |
이벤트를 생성한 요소에 ID가 있는 경우 이 속성은 해당 ID를 저장합니다. 자세한 내용은 Element.id |
CSSLocator |
String |
DOM 요소를 식별하는 데 사용되는 CSS 로케이터입니다. |
InteractionId |
String |
사용자와 UI 간의 상호 작용을 위한 고유 ID입니다. |
탐색 이벤트 스키마
탐색 이벤트는 앱 모니터에 성능 원격 측정이 활성화된 경우에만 수집됩니다.
탐색 이벤트는 탐색 타이밍 레벨 1
참고
타임스탬프 지표는 DOMHighResTimestampstartTime
과 관련되어 있습니다. 하지만 레벨 1의 경우 상대값을 얻기 위해 타임스탬프 지표에서 navigationStart
지표를 뺍니다. 모든 타임스탬프 값은 밀리초 단위입니다.
탐색 이벤트에는 다음 속성이 포함됩니다.
명칭 | 유형 | 설명 | 참고 |
---|---|---|---|
initiatorType |
String |
성능 이벤트를 시작한 리소스 유형을 나타냅니다. |
값: "탐색" 레벨 1: "탐색" 레벨 2: entryData.initiatorType |
navigationType |
String |
탐색 유형을 나타냅니다. 이 속성은 필수가 아닙니다. |
값: 값은 다음 중 하나여야 합니다.
|
startTime |
숫자 |
이벤트가 트리거되는 시점을 나타냅니다. |
값: 0 레벨 1: entryData.navigationStart - entryData.navigationStart 레벨 2: entryData.startTime |
unloadEventStart |
숫자 |
창의 이전 문서가 |
값: 이전 문서가 없거나 이전 문서 또는 필요한 리디렉션 중 하나가 동일한 원본이 아닌 경우 반환되는 값은 0입니다. 레벨 1:
레벨 2: entryData.unloadEventStart |
promptForUnload |
숫자 |
문서를 언로드하는 데 걸린 시간입니다. 즉, |
값: 이전 문서가 없거나 이전 문서 또는 필요한 리디렉션 중 하나가 동일한 원본이 아닌 경우 반환되는 값은 0입니다. 레벨 1: entryData.unloadEventEnd - entryData.unloadEventStart 레벨 2: entryData.unloadEventEnd - entryData.unloadEventStart |
redirectCount |
숫자 |
현재 탐색 컨텍스트에서 마지막으로 리디렉션되지 않은 탐색 이후의 리디렉션 수를 나타내는 숫자입니다. 이 속성은 필수가 아닙니다. |
값: 리디렉션이 없거나 대상 문서와 같은 원본이 아닌 리디렉션이 있는 경우 반환되는 값은 0입니다. 레벨 1: 사용할 수 없음 레벨 2: entryData.redirectCount |
redirectStart |
숫자 |
첫 번째 HTTP 리디렉션이 시작되는 시간입니다. |
값: 리디렉션이 없거나 대상 문서와 같은 원본이 아닌 리디렉션이 있는 경우 반환되는 값은 0입니다. 레벨 1:
레벨 2: entryData.redirectStart |
redirectTime |
숫자 |
HTTP 리디렉션에 걸린 시간입니다. |
레벨 1:: entryData.redirectEnd - entryData.redirectStart 레벨 2:: entryData.redirectEnd - entryData.redirectStart |
workerStart |
숫자 |
이것은 이 속성은 필수가 아닙니다. |
값: 서비스 작업자 스레드가 이미 실행 중이거나 서비스 작업자 스레드를 시작하기 직전에 이 속성은 레벨 1: 사용할 수 없음 레벨 2: entryData.workerStart |
workerTime |
숫자 |
서비스 작업자가 리소스를 가로채면 작업자 스레드 작업에 필요한 시간이 반환됩니다. 이 속성은 필수가 아닙니다. |
레벨 1: 사용할 수 없음 레벨 2:
|
fetchStart |
숫자 |
브라우저가 HTTP 요청을 사용하여 문서를 가져올 준비가 된 시간입니다. 이는 애플리케이션 캐시를 확인하기 전입니다. |
레벨 1:
레벨 2: entryData.fetchStart |
domainLookupStart |
숫자 |
도메인 조회가 시작되는 시간입니다. |
값: 영구 연결이 사용되거나 정보가 캐시 또는 로컬 리소스에 저장되어 있는 경우 값은 레벨 1:
레벨 2: entryData.domainLookupStart |
dns |
숫자 |
도메인 조회에 필요한 시간입니다. |
값: 리소스 및 DNS 레코드가 캐시된 경우 예상 값은 0입니다. 레벨 1: entryData.domainLookupEnd - entryData.domainLookupStart 레벨 2: entryData.domainLookupEnd - entryData.domainLookupStart |
nextHopProtocol |
String |
리소스를 가져오는 데 사용되는 네트워크 프로토콜을 나타내는 문자열입니다. 이 속성은 필수가 아닙니다. |
레벨 1: 사용할 수 없음 레벨 2: entryData.nextHopProtocol |
connectStart |
숫자 |
사용자 에이전트가 문서 검색을 위해 서버에 대한 연결 설정을 시작하기 직전의 시간입니다. |
값: RFC2616 영구 연결이 사용되거나 현재 문서가 관련 애플리케이션 캐시 또는 로컬 리소스에서 검색되는 경우 이 속성은 레벨 1:
레벨 2: entryData.connectStart |
connect |
숫자 |
전송 연결을 설정하거나 SSL 인증을 수행하는 데 필요한 시간을 측정합니다. 또한 브라우저에서 실행한 동시 요청이 너무 많을 때 걸리는 차단된 시간도 포함됩니다. |
레벨 1: entryData.connectEnd - entryData.connectStart 레벨 2: entryData.connectEnd - entryData.connectStart |
secureConnectionStart |
숫자 |
현재 페이지의 URL 스키마가 "https"인 경우 이 속성은 사용자 에이전트가 현재 연결을 보호하기 위해 핸드셰이크 프로세스를 시작하기 직전의 시간을 반환합니다. HTTPS를 사용하지 않으면 0을 반환합니다. URL 스키마에 대한 자세한 내용은 URL 표시 |
공식: entryData.secureConnectionStart |
tlsTime |
숫자 |
SSL 핸드셰이크를 완료하는 데 걸린 시간입니다. |
레벨 1:
레벨 2:
|
requestStart |
숫자 |
사용자 에이전트가 서버나 관련 애플리케이션 캐시 또는 로컬 리소스에서 리소스 요청을 시작하기 직전의 시간입니다. |
레벨 1:
레벨 2: entryData.requestStart |
timeToFirstByte |
숫자 |
요청 후 첫 번째 바이트 정보를 수신하는 데 걸린 시간입니다. 이 시간은 |
레벨 1: entryData.responseStart - entryData.requestStart 레벨 2: entryData.responseStart - entryData.requestStart |
responseStart |
숫자 |
사용자 에이전트의 HTTP 파서가 관련 애플리케이션 캐시 또는 로컬 리소스 또는 서버에서 응답의 첫 번째 바이트를 수신한 직후의 시간입니다. |
레벨 1:
레벨 2: entryData.responseStart |
responseTime |
String |
관련 애플리케이션 캐시, 로컬 리소스 또는 서버에서 바이트 형식으로 전체 응답을 수신하는 데 걸린 시간입니다. |
레벨 1:
레벨 2:
|
domInteractive |
숫자 |
파서가 기본 문서에서 작업을 완료하고 HTML DOM이 생성되는 시간입니다. 현 시점에서 |
레벨 1:
레벨 2: entryData.domInteractive |
domContentLoadedEventStart |
숫자 |
사용자 에이전트가 현재 문서에서 DOMContentLoaded 이벤트를 실행하기 직전의 시간과 동일한 시간 값을 나타냅니다. DomContentLoad 이벤트는 초기 HTML 문서가 완전히 로드되고 구문 분석되면 발생합니다. 이때 기본 HTML 문서의 구문 분석이 완료되고, 브라우저가 렌더 트리를 구성하기 시작하며, 하위 리소스는 여전히 로드되어야 합니다. 이는 스타일 시트, 이미지 및 하위 프레임이 로드될 때까지 기다리지 않습니다. |
레벨 1:
레벨 2: entryData.domContentLoadedEventStart |
domContentLoaded |
숫자 |
렌더 트리 구성의 시작 시간과 종료 시간은 이 기간 동안 DOM과 CSSOM이 준비됩니다. 이 속성은 비동기 및 동적으로 생성된 스크립트를 제외하고 스크립트 실행을 기다립니다. 스크립트가 스타일 시트에 의존하는 경우 참고
|
레벨 2: entryData.domContentLoadedEventEnd - entryData.domContentLoadedEventStart 레벨 2: entryData.domContentLoadedEventEnd - entryData.domContentLoadedEventStart |
domComplete |
숫자 |
브라우저가 현재 문서 준비를 완료하도록 설정하기 바로 전의 시간입니다. 이때 이미지와 같은 하위 리소스의 로드가 완료됩니다. 여기에는 CSS 및 동기식 JavaScript와 같은 차단 콘텐츠를 다운로드하는 데 걸리는 시간이 포함됩니다. 이 시간은 Google Chrome 네트워크 패널의 |
레벨 1:
레벨 2: entryData.domComplete |
domProcessingTime |
숫자 |
응답과 로드 이벤트 시작 간 총 시간입니다. |
레벨 1: entryData.loadEventStart - entryData.responseEnd 레벨 2: entryData.loadEventStart - entryData.responseEnd |
loadEventStart |
숫자 |
현재 문서의 |
레벨 1:
레벨 2: entryData.loadEventStart |
loadEventTime |
숫자 |
|
레벨 1: entryData.loadEventEnd - entryData.loadEventStart 레벨 2: entryData.loadEventEnd - entryData.loadEventStart |
duration |
String |
기간은 총 페이지 로드 시간입니다. 기본 페이지와 모든 동기식 하위 리소스를 다운로드하고 페이지를 렌더링하는 타이밍을 기록합니다. 스크립트와 같은 비동기 리소스는 나중에 계속 다운로드됩니다. 이는 |
레벨 1: entryData.loadEventEnd - entryData.navigationStart 레벨 2: entryData.duration |
headerSize |
숫자 |
이 속성은 필수가 아닙니다. |
레벨 1: 사용할 수 없음 레벨 2: entryData.transferSize - entryData.encodedBodySize 레벨 2: entryData.transferSize - entryData.encodedBodySize |
compressionRatio |
숫자 |
이 속성은 필수가 아닙니다. |
레벨 1: 해당 사항 없음. 레벨 2:
|
navigationTimingLevel |
숫자 |
탐색 타이밍 API 버전. |
값: 1 또는 2 |
리소스 이벤트 스키마
탐색 이벤트는 앱 모니터에 성능 원격 측정이 활성화된 경우에만 수집됩니다.
타임스탬프 지표는 The DOMHighResTimeStamp typedefstartTime
과 관련됩니다. 하지만 레벨 1 API의 경우 상대값을 얻기 위해 타임스탬프 지표에서 navigationStart
지표를 뺍니다. 모든 타임스탬프 값은 밀리초 단위입니다.
에이전트에서 생성된 리소스 이벤트에는 다음 속성이 포함됩니다.
명칭 | 유형 | 설명 | 참고 |
---|---|---|---|
targetUrl |
String |
리소스 URL을 반환합니다. |
공식: entryData.name |
initiatorType |
String |
성능 리소스 이벤트를 시작한 리소스 유형을 나타냅니다. |
값: "리소스" 공식: entryData.initiatorType |
duration |
String |
이 속성은 필수가 아닙니다. |
공식: entryData.duration |
transferSize |
숫자 |
응답 헤더 필드와 응답 페이로드 본문을 포함하여 가져온 리소스 크기(옥텟 단위)를 반환합니다. 이 속성은 필수가 아닙니다. |
공식: entryData.transferSize |
fileType |
String |
대상 URL 패턴에서 파생된 확장입니다. |
가장 큰 콘텐츠 페인트 이벤트 스키마
가장 큰 콘텐츠 페인트 이벤트에는 다음 속성이 포함됩니다.
이러한 이벤트는 활성화된 성능 원격 측정이 앱 모니터에 있는 경우에만 수집됩니다.
명칭 | 설명 |
---|---|
값 |
자세한 내용은 웹 바이탈 |
첫 번째 입력 지연 이벤트
첫 번째 입력 지연 이벤트는 다음 속성을 포함합니다.
이러한 이벤트는 활성화된 성능 원격 측정이 앱 모니터에 있는 경우에만 수집됩니다.
명칭 | 설명 |
---|---|
값 |
자세한 내용은 웹 바이탈 |
누적 레이아웃 시프트 이벤트
누적 레이아웃 시프트 이벤트에는 다음 속성이 포함됩니다.
이러한 이벤트는 활성화된 성능 원격 측정이 앱 모니터에 있는 경우에만 수집됩니다.
명칭 | 설명 |
---|---|
값 |
자세한 내용은 웹 바이탈 |
HTTP 이벤트
HTTP 이벤트에는 다음 속성이 포함될 수 있습니다. Response
필드 또는 Error
필드 중 하나를 포함하되 두 필드 모두를 포함하지는 않습니다.
이러한 이벤트는 활성화된 HTTP 원격 측정이 앱 모니터에 있는 경우에만 수집됩니다.
명칭 | 설명 |
---|---|
요청 |
요청 필드에는 다음이 포함됩니다.
|
응답 |
응답 필드에는 다음 항목이 포함됩니다.
|
오류 |
응답 필드에는 다음 항목이 포함됩니다.
|
X-Ray 추적 이벤트 스키마
이러한 이벤트는 앱 모니터에 X-Ray 추적이 활성화된 경우에만 수집됩니다.
X-Ray 추적 이벤트 스키마에 대한 자세한 내용은 AWS X-Ray 세그먼트 설명서를 참조하세요.