기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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 호출에 대한 서명 자격 증명을 가져오는 기간입니다. | 기간* |
각 요청 시도에 대해 수집된 지표
응답을 수신하려면 각 API 호출에 여러 번 시도해야 할 수 있습니다. 이 지표는 각 요청 시도에 대해 수집됩니다.
핵심 지표
| 메트릭 이름 | 설명 | 형식 |
|---|---|---|
|
AwsExtendedRequestId |
서비스 요청의 확장 요청 ID입니다. |
String |
|
AwsRequestId |
서비스 요청의 요청 ID입니다. |
String |
|
BackoffDelayDuration |
SDK가이 API 호출 시도 전에 대기한 기간입니다. 값은 클라이언트에 |
기간* |
| ErrorType |
통화 시도에서 발생한 오류 유형입니다. 유효한 값은 다음과 같습니다.
|
String |
| ReadThroughput |
로 정의된 클라이언트의 읽기 처리량입니다 이 지표는 |
배정밀도 실수 |
|
ServiceCallDuration |
서비스에 연결하고(또는 연결 풀에서 연결을 획득하고), 직렬화된 요청을 보내고, 초기 응답(예: HTTP 상태 코드 및 헤더)을 수신하는 기간입니다. 여기에는 서비스의 전체 응답을 읽는 시간이 포함되지 않습니다. |
기간* |
|
SigningDuration |
HTTP 요청에 서명하는 기간입니다. |
기간* |
| TimeToFirstByte | 서비스에 HTTP 요청(연결 획득 포함)을 보내고 응답에서 헤더의 첫 번째 바이트를 수신하는 시간입니다. | 기간* |
| TimeToLastByte |
서비스에 HTTP 요청(연결 획득 포함)을 보내고 응답의 마지막 바이트를 수신하는 시간입니다. 스트리밍 응답을 반환하는 APIs의 경우이 지표는 |
기간* |
|
UnmarshallingDuration |
SDK 응답에 대한 HTTP 응답을 마샬링 해제하는 기간입니다. 참고: 스트리밍 작업의 경우 응답 페이로드를 읽는 시간은 포함되지 않습니다. |
기간* |
HTTP 지표
| 메트릭 이름 | 설명 | 형식 | HTTP 클라이언트 필요* |
|---|---|---|---|
|
AvailableConcurrency |
HTTP 클라이언트가 대상 서버에 대한 새 연결을 설정하지 않고 지원하는 추가 동시 요청 수입니다. HTTP/1 작업의 경우 서비스와 설정된 유휴 TCP 연결 수와 같습니다. HTTP/2 작업의 경우 유휴 스트림 수와 같습니다. 참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.
값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다. |
Integer |
Apache, Netty, CRT |
|
ConcurrencyAcquireDuration |
연결 풀에서 채널을 획득하는 기간입니다. HTTP/1 작업의 경우 채널은 TCP 연결과 같습니다. HTTP/2 작업의 경우 채널은 HTTP/2 스트림 채널과 같습니다. 새 채널을 획득하는 데는 다음과 같은 시간이 포함될 수 있습니다.
|
기간* |
Apache, Netty, CRT |
|
HttpClientName |
요청에 사용되는 HTTP의 이름입니다. |
String |
Apache, Netty, CRT |
|
HttpStatusCode |
HTTP 응답의 상태 코드입니다. |
Integer |
임의 |
|
LeasedConcurrency |
HTTP 클라이언트가 현재 실행하는 요청 수입니다. HTTP/1 작업의 경우 서비스와의 활성 TCP 연결 수와 같습니다(유휴 연결 제외). HTTP/2 작업의 경우 서비스가 포함된 활성 HTTP 스트림 수와 같습니다(유휴 스트림 용량 제외). 참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.
값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다. |
Integer |
Apache, Netty, CRT |
|
LocalStreamWindowSize |
이 요청을 실행하는 스트림의 로컬 HTTP/2 창 크기입니다. |
Integer |
Netty |
|
MaxConcurrency |
HTTP 클라이언트가 지원하는 최대 동시 요청 수입니다. HTTP/1 작업의 경우 HTTP 클라이언트가 풀링할 수 있는 최대 TCP 연결 수와 같습니다. HTTP/2 작업의 경우 HTTP 클라이언트가 풀링할 수 있는 최대 스트림 수와 같습니다. 참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.
값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다. |
Integer |
Apache, Netty, CRT |
|
PendingConcurrencyAcquires |
HTTP 클라이언트의 동시성을 기다리는 요청 수입니다. HTTP/1 작업의 경우 TCP 연결이 연결 풀에서 설정되거나 반환될 때까지 기다리는 요청 수와 같습니다. HTTP/2 작업의 경우 연결 풀에서 새 스트림(및 가능한 경우 새 HTTP/2 연결)을 기다리는 요청 수와 같습니다. 참고:이 값은 HTTP 클라이언트 구현에 따라 다릅니다.
값은 개별 HTTP 클라이언트 인스턴스로 범위가 지정되며 동일한 JVM의 다른 HTTP 클라이언트에서 동시성을 제외합니다. |
Integer |
Apache, Netty, CRT |
|
RemoteStreamWindowSize |
이 요청을 실행하는 스트림의 원격 HTTP/2 창 크기입니다. |
Integer |
Netty |
열에 사용되는 용어는 다음을 의미합니다.
-
Apache: Apache 기반 HTTP 클라이언트(
ApacheHttpClient) -
Netty: Netty 기반 HTTP 클라이언트(
NettyNioAsyncHttpClient) -
CRT: AWS CRT 기반 HTTP 클라이언트(
AwsCrtAsyncHttpClient) -
모두: 지표 데이터 모음은 HTTP 클라이언트에 의존하지 않습니다. 여기에는 URLConnection 기반 HTTP 클라이언트(
UrlConnectionHttpClient)가 포함됩니다.