쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

웹 앱 클라이언트 구성

포커스 모드
웹 앱 클라이언트 구성 - AWS X-Ray

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

xray-cognito 브랜치에서는 Scorekeep이 Amazon Cognito를 사용하므로 사용자가 계정을 생성하고 해당 계정으로 로그인하여 Amazon Cognito 사용자 풀에서 자신의 사용자 정보를 검색할 수 있습니다. 사용자가 로그인하면 Scorekeep은 Amazon Cognito 자격 증명 풀을 사용하여에 사용할 임시 AWS 자격 증명을 가져옵니다 AWS SDK for JavaScript.

자격 증명 풀은 로그인한 사용자가 추적 데이터를 AWS X-Ray에 쓸 수 있도록 구성되어 있습니다. 웹 앱은 이러한 자격 증명을 사용하여 로그인한 사용자의 ID, 브라우저 경로 및 Scorekeep API 호출에 대한 클라이언트의 보기를 레코딩합니다.

이러한 작업의 대부분은 이름이 xray인 서비스 클래스에서 수행됩니다. 이 서비스 클래스는 필수 식별자 생성, 진행 중인 세그먼트 생성, 세그먼트 종료, X-Ray API에 세그먼트 문서 전송 등의 작업을 위한 메서드를 제공합니다.

public/xray.js— 세그먼트 기록 및 업로드
... service.beginSegment = function() { var segment = {}; var traceId = '1-' + service.getHexTime() + '-' + service.getHexId(24); var id = service.getHexId(16); var startTime = service.getEpochTime(); segment.trace_id = traceId; segment.id = id; segment.start_time = startTime; segment.name = 'Scorekeep-client'; segment.in_progress = true; segment.user = sessionStorage['userid']; segment.http = { request: { url: window.location.href } }; var documents = []; documents[0] = JSON.stringify(segment); service.putDocuments(documents); return segment; } service.endSegment = function(segment) { var endTime = service.getEpochTime(); segment.end_time = endTime; segment.in_progress = false; var documents = []; documents[0] = JSON.stringify(segment); service.putDocuments(documents); } service.putDocuments = function(documents) { var xray = new AWS.XRay(); var params = { TraceSegmentDocuments: documents }; xray.putTraceSegments(params, function(err, data) { if (err) { console.log(err, err.stack); } else { console.log(data); } }) }

이러한 메서드는 웹 앱이 Scorekeep API를 호출하는 데 사용하는 리소스 서비스의 헤더 및 transformResponse 함수에서 호출됩니다. API가 생성하는 세그먼트와 동일한 추적에 클라이언트 세그먼트를 포함하려면 웹 앱이 추적 헤더(X-Amzn-Trace-Id)에 추적 ID와 세그먼트 ID를 포함시켜야 하며, 이 헤더는 X-Ray SDK가 읽을 수 있어야 합니다. 구성된 Java 애플리케이션이 이 헤더와 함께 요청을 수신하면 Java용 X-Ray SDK는 동일한 추적 ID를 사용하고 웹 앱 클라이언트의 세그먼트를 해당 세그먼트의 상위로 만듭니다.

public/app/services.js – Angular 리소스 호출에 대한 세그먼트 레코딩 및 추적 헤더 쓰기
var module = angular.module('scorekeep'); module.factory('SessionService', function($resource, api, XRay) { return $resource(api + 'session/:id', { id: '@_id' }, { segment: {}, get: { method: 'GET', headers: { 'X-Amzn-Trace-Id': function(config) { segment = XRay.beginSegment(); return XRay.getTraceHeader(segment); } }, transformResponse: function(data) { XRay.endSegment(segment); return angular.fromJson(data); }, }, ...

생성된 트레이스 맵에는 웹 앱 클라이언트용 노드가 포함됩니다.

Scorekeep 클라이언트용 노드가 포함된 트레이스 맵입니다.

웹 앱의 세그먼트를 포함하는 트레이스는 사용자가 브라우저에서 보는 URL을 표시합니다(/#/로 시작하는 경로). 사용자는 클라이언트 구성 없이 웹 앱이 호출하는 API 리소스의 URL을 가져오기만 합니다(/api/로 시작하는 경로).

클라이언트 세그먼트의 요청 URL을 표시하는 트레이스가 있는 트레이스 목록입니다.
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.