AWS SDK for Java 2.x: 포괄적인 지표 참조 - AWS SDK for Java 2.x

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

AWS SDK for Java 2.x: 포괄적인 지표 참조

를 사용하면 애플리케이션의 서비스 클라이언트에서 지표를 수집한 다음 해당 지표를 Amazon CloudWatch에 게시(출력)할 AWS SDK for Java 2.x수 있습니다.

다음 표에는 수집할 수 있는 지표와 HTTP 클라이언트 사용 요구 사항이 나열되어 있습니다.

SDK 지표를 활성화 및 구성하는 자세한 내용은 SDK 지표 활성화를 참조하세요.

각 요청에서 수집된 지표

메트릭 이름 설명 형식

ApiCallDuration

API 호출 기간입니다. 여기에는 모든 호출 시도가 포함됩니다.

기간*

ApiCallSuccessful

API 호출이 성공하면 true이고, 그렇지 않으면 false입니다.

CredentialsFetchDuration

API 호출에 대한 서명 자격 증명을 가져오는 기간입니다.

기간*

EndpointResolveDuration API 호출에 사용되는 엔드포인트를 확인하는 데 걸리는 시간입니다. 기간*

MarshallingDuration

SDK 요청을 HTTP 요청으로 마샬링하는 기간입니다.

기간*

OperationName

호출되는 서비스 작업의 이름입니다.

String

RetryCount

SDK가 요청 실행 시 수행한 재시도 횟수입니다. 0은 요청이 처음 작동했고 재시도가 시도되지 않았음을 의미합니다.

재시도 동작 구성에 대한 자세한 내용은 섹션을 참조하세요재시도 전략.

Integer

ServiceId

서비스의 고유 ID입니다.

String

ServiceEndpoint

서비스의 엔드포인트입니다.

URI

TokenFetchDuration

API 호출에 대한 서명 자격 증명을 가져오는 기간입니다. 기간*

*java.time.Duration.

각 요청 시도에 대해 수집된 지표

응답을 수신하려면 각 API 호출에 여러 번 시도해야 할 수 있습니다. 이 지표는 각 요청 시도에 대해 수집됩니다.

핵심 지표

메트릭 이름 설명 형식

AwsExtendedRequestId

서비스 요청의 확장 요청 ID입니다.

String

AwsRequestId

서비스 요청의 요청 ID입니다.

String

BackoffDelayDuration

SDK가이 API 호출 시도 전에 대기한 기간입니다. 값은 클라이언트에 BackoffStrategy 설정된를 기반으로 합니다. 자세한 내용은이 가이드의 재시도 전략 섹션을 참조하세요.

기간*

ErrorType

통화 시도에서 발생한 오류 유형입니다.

유효한 값은 다음과 같습니다.

  • Throttling: 서비스가 제한 오류로 응답했습니다.

  • ServerError: 서비스가 제한 이외의 오류로 응답했습니다.

  • ConfiguredTimeout: API 호출 수준 또는 API 호출 시도 수준에서 클라이언트 제한 시간이 발생했습니다.

  • IO: I/O 오류가 발생했습니다.

  • Other: 위의 범주 목록 중 하나에 속하지 않는 다른 오류의 경우 Catch-all입니다.

String
ReadThroughput

로 정의된 클라이언트의 읽기 처리량입니다NumberOfResponseBytesRead / (TTLB - TTFB). 이 값은 초당 바이트 단위입니다.

이 지표는 ResponseTransformer 또는 내에서 읽은 바이트만 측정합니다AsyncResponseTransformer. 응답 스트림이 변환기의 결과로 반환되는 경우와 같이 변환기 외부에서 읽는 데이터는 계산에 포함되지 않습니다.

배정밀도 실수

ServiceCallDuration

서비스에 연결하고(또는 연결 풀에서 연결을 획득하고), 직렬화된 요청을 보내고, 초기 응답(예: HTTP 상태 코드 및 헤더)을 수신하는 기간입니다. 여기에는 서비스의 전체 응답을 읽는 시간이 포함되지 않습니다.

기간*

SigningDuration

HTTP 요청에 서명하는 기간입니다.

기간*

TimeToFirstByte 서비스에 HTTP 요청(연결 획득 포함)을 보내고 응답에서 헤더의 첫 번째 바이트를 수신하는 시간입니다. 기간*
TimeToLastByte

서비스에 HTTP 요청(연결 획득 포함)을 보내고 응답의 마지막 바이트를 수신하는 시간입니다.

스트리밍 응답을 반환하는 APIs의 경우이 지표는 ResponseTransformer 또는가 AsyncResponseTransformer 완료될 때까지의 시간에 걸쳐 있습니다.

기간*

UnmarshallingDuration

SDK 응답에 대한 HTTP 응답을 마샬링 해제하는 기간입니다.

참고: 스트리밍 작업의 경우 응답 페이로드를 읽는 시간은 포함되지 않습니다.

기간*

*java.time.Duration.

HTTP 지표

메트릭 이름 설명 형식 HTTP 클라이언트 필요*

AvailableConcurrency

HTTP 클라이언트가 대상 서버에 대한 새 연결을 설정하지 않고 지원하는 추가 동시 요청 수입니다.

HTTP/1 작업의 경우 서비스와 설정된 유휴 TCP 연결 수와 같습니다. HTTP/2 작업의 경우 유휴 스트림 수와 같습니다.

참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.

  • Apache 클라이언트: 값이 전체 HTTP 클라이언트에 적용됨

  • Netty 클라이언트: 엔드포인트당 값이 적용됩니다.

  • AWS CRT 기반 클라이언트: 엔드포인트당 값이 적용됩니다.

값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다.

Integer

Apache, Netty, CRT

ConcurrencyAcquireDuration

연결 풀에서 채널을 획득하는 기간입니다.

HTTP/1 작업의 경우 채널은 TCP 연결과 같습니다. HTTP/2 작업의 경우 채널은 HTTP/2 스트림 채널과 같습니다.

새 채널을 획득하는 데는 다음과 같은 시간이 포함될 수 있습니다.

  1. 클라이언트의 최대 동시성 구성에 의해 제한되는 동시성 허용 대기.

  2. 풀에서 기존 연결을 사용할 수 없는 경우 새 연결을 설정합니다.

  3. TLS가 활성화된 경우 TLS 핸드셰이크 및 협상을 수행합니다.

기간*

Apache, Netty, CRT

HttpClientName

요청에 사용되는 HTTP의 이름입니다.

String

Apache, Netty, CRT

HttpStatusCode

HTTP 응답의 상태 코드입니다.

Integer

임의

LeasedConcurrency

HTTP 클라이언트가 현재 실행하는 요청 수입니다.

HTTP/1 작업의 경우 서비스와의 활성 TCP 연결 수와 같습니다(유휴 연결 제외). HTTP/2 작업의 경우 서비스가 포함된 활성 HTTP 스트림 수와 같습니다(유휴 스트림 용량 제외).

참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.

  • Apache 클라이언트: 값이 전체 HTTP 클라이언트에 적용됨

  • Netty 클라이언트: 엔드포인트당 값이 적용됩니다.

  • AWS CRT 기반 클라이언트: 엔드포인트당 값이 적용됩니다.

값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다.

Integer

Apache, Netty, CRT

LocalStreamWindowSize

이 요청을 실행하는 스트림의 로컬 HTTP/2 창 크기입니다.

Integer

Netty

MaxConcurrency

HTTP 클라이언트가 지원하는 최대 동시 요청 수입니다.

HTTP/1 작업의 경우 HTTP 클라이언트가 풀링할 수 있는 최대 TCP 연결 수와 같습니다. HTTP/2 작업의 경우 HTTP 클라이언트가 풀링할 수 있는 최대 스트림 수와 같습니다.

참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.

  • Apache 클라이언트: 값이 전체 HTTP 클라이언트에 적용됨

  • Netty 클라이언트: 엔드포인트당 값이 적용됩니다.

  • AWS CRT 기반 클라이언트: 엔드포인트당 값이 적용됩니다.

값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다.

Integer

Apache, Netty, CRT

PendingConcurrencyAcquires

HTTP 클라이언트의 동시성을 기다리는 요청 수입니다.

HTTP/1 작업의 경우 TCP 연결이 연결 풀에서 설정되거나 반환될 때까지 기다리는 요청 수와 같습니다. HTTP/2 작업의 경우 연결 풀에서 새 스트림(및 가능한 경우 새 HTTP/2 연결)을 기다리는 요청 수와 같습니다.

참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.

  • Apache 클라이언트: 값이 전체 HTTP 클라이언트에 적용됨

  • Netty 클라이언트: 엔드포인트당 값이 적용됩니다.

  • AWS CRT 기반 클라이언트: 엔드포인트당 값이 적용됩니다.

값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다.

Integer

Apache, Netty, CRT

RemoteStreamWindowSize

이 요청을 실행하는 스트림의 원격 HTTP/2 창 크기입니다.

Integer

Netty

*java.time.Duration.

열에 사용되는 용어는 다음을 의미합니다.