

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS SDK for Java 2.x：綜合指標參考
<a name="metrics-list"></a>

使用 AWS SDK for Java 2.x，您可以從應用程式中的服務用戶端收集指標，然後將這些指標發佈 （輸出） 至 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)。

這些資料表列出您可以收集的指標，以及任何 HTTP 用戶端用量需求。

如需啟用和設定 SDK 指標的詳細資訊，請參閱[啟用 SDK 指標](metrics.md)。

## 每個請求收集的指標
<a name="metrics-perrequest"></a>


| 指標名稱 | 說明 | Type | 
| --- | --- | --- | 
|  ApiCallDuration  |  API 呼叫的持續時間。這包括所有進行的呼叫嘗試。  |  持續時間\$1  | 
|  ApiCallSuccessful  |  如果 API 呼叫成功，則為 True，否則為 false。  |  Boolean  | 
|  CredentialsFetchDuration  |  擷取 API 呼叫簽署憑證的持續時間。  |  持續時間\$1  | 
| EndpointResolveDuration | 解析 API 呼叫所用端點的持續時間。 | 持續時間\$1 | 
|  MarshallingDuration  |  將 SDK 請求封送至 HTTP 請求的持續時間。  |  持續時間\$1  | 
|  OperationName  |  要叫用之服務操作的名稱。  |  String  | 
|  RetryCount  |  開發套件在執行請求時執行的重試次數。0 表示請求第一次運作，而且未嘗試任何重試。 如需設定重試行為的詳細資訊，請參閱 [重試策略](retry-strategy.md#retry-strategies)。  |  Integer  | 
|  ServiceId  |  服務的唯一 ID。  |  String  | 
|  ServiceEndpoint  |  服務的端點。  |  URI  | 
|  TokenFetchDuration  | 擷取 API 呼叫簽署憑證的持續時間。 | 持續時間\$1 | 

\$1[java.time.Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html)。

## 每次請求嘗試收集的指標
<a name="metrics-perattempt"></a>

在收到回應之前，每個 API 呼叫可能需要多次嘗試。每次嘗試都會收集這些指標。

### 核心指標
<a name="metrics-perattempt-core"></a>


| 指標名稱 | 說明 | Type | 
| --- | --- | --- | 
|  AwsExtendedRequestId  |  服務請求的延伸請求 ID。  |  String  | 
|  AwsRequestId  |  服務請求的請求 ID。  |  String  | 
|  BackoffDelayDuration  |  開發套件在此 API 呼叫嘗試之前等待的持續時間。此值是以用戶端上的 `[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/retries/api/BackoffStrategy.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/retries/api/BackoffStrategy.html)` 集為基礎。如需詳細資訊，請參閱本指南中的[重試策略](retry-strategy.md#retry-strategies)一節。  |  持續時間\$1  | 
| ErrorType |  呼叫嘗試發生的錯誤類型。 以下是可能的值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdk-for-java/latest/developer-guide/metrics-list.html)  | String | 
| ReadThroughput |  用戶端的讀取輸送量，定義為 `NumberOfResponseBytesRead / (TTLB - TTFB)`。此值以每秒位元組為單位。 請注意，此指標只會測量從 `ResponseTransformer`或 中讀取的位元組`AsyncResponseTransformer`。在轉換器外部讀取的資料，例如回應串流因轉換器而傳回時，不會包含在計算中。  | Double | 
| WriteThroughput |  用戶端的寫入輸送量，定義為 `RequestBytesWritten / (LastByteWrittenTime - FirstByteWrittenTime)`。此值以每秒位元組為單位。 此指標會測量 SDK 向 HTTP 用戶端提供請求內文的速率。它不包括連線設定、TLS 交握時間和伺服器處理時間。只有具有串流內文的請求，例如 S3 PutObject，才會報告此指標。 請注意，此指標不會考慮 HTTP 用戶端層中的緩衝。如果 HTTP 用戶端在傳送之前緩衝資料，實際的網路傳輸速率可能會較低。此指標代表網路輸送量的上限。  | Double | 
|  ServiceCallDuration  |  連線到服務 （或從連線集區取得連線）、傳送序列化請求和接收初始回應 （例如 HTTP 狀態碼和標頭） 的持續時間。這不包括從服務讀取整個回應的時間。  |  持續時間\$1  | 
|  SigningDuration  |  簽署 HTTP 請求的持續時間。  |  持續時間\$1  | 
| TimeToFirstByte | 從傳送 HTTP 請求 （包括取得連線） 到 服務，以及接收回應中第一個位元組標頭的持續時間。 | 持續時間\$1 | 
| TimeToLastByte |  從傳送 HTTP 請求 （包括取得連線） 到 服務，以及接收回應最後一個位元組的持續時間。 請注意，對於傳回串流回應APIs，此指標會跨越 `ResponseTransformer`或 `AsyncResponseTransformer`完成之前的時間。  | 持續時間\$1 | 
|  UnmarshallingDuration  |  取消封送 HTTP 回應至 SDK 回應的持續時間。 注意：對於串流操作，這不包括讀取回應承載的時間。  |  持續時間\$1  | 

\$1[java.time.Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html)。

### HTTP 指標
<a name="metrics-perattempt-http"></a>


| 指標名稱 | 說明 | Type | 需要 HTTP 用戶端\$1 | 
| --- | --- | --- | --- | 
|  AvailableConcurrency  |  HTTP 用戶端支援的額外並行請求數量，無需建立與目標伺服器的新連線。 對於 HTTP/1 操作，這等於使用 服務建立的閒置 TCP 連線數。對於 HTTP/2 操作，這等於閒置串流的數量。 注意：此值因 HTTP 用戶端實作而異： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdk-for-java/latest/developer-guide/metrics-list.html) 此值的範圍為個別 HTTP 用戶端執行個體，並排除來自相同 JVM 中其他 HTTP 用戶端的並行。  |  Integer  | Apache、Netty、CRT | 
|  ConcurrencyAcquireDuration  |  從連線集區取得頻道的持續時間。 對於 HTTP/1 操作，頻道等於 TCP 連線。對於 HTTP/2 操作，頻道等於 HTTP/2 串流頻道。 取得新頻道可能包括下列時間： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdk-for-java/latest/developer-guide/metrics-list.html)  |  持續時間\$1  |  Apache、Netty、CRT  | 
|  HttpClientName  |  用於請求的 HTTP 名稱。  |  String  |  Apache、Netty、CRT  | 
|  HttpStatusCode  |  HTTP 回應的狀態碼。  |  Integer  |  任何  | 
|  LeasedConcurrency  |  HTTP 用戶端目前執行的請求數量。 對於 HTTP/1 操作，這等於與服務的作用中 TCP 連線數 （閒置連線除外）。對於 HTTP/2 操作，這等於服務作用中 HTTP 串流的數量 （閒置串流容量除外）。 注意：此值因 HTTP 用戶端實作而異： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdk-for-java/latest/developer-guide/metrics-list.html) 此值的範圍為個別 HTTP 用戶端執行個體，並排除來自相同 JVM 中其他 HTTP 用戶端的並行。  |  Integer  |  Apache、Netty、CRT  | 
|  LocalStreamWindowSize  |  執行此請求之串流的本機 HTTP/2 視窗大小，以位元組為單位。  |  Integer  |  Netty  | 
|  MaxConcurrency  |  HTTP 用戶端支援的並行請求數目上限。 對於 HTTP/1 操作，這等於 HTTP 用戶端可以集區的最大 TCP 連線數。對於 HTTP/2 操作，這等於 HTTP 用戶端可以集區的最大串流數量。 注意：此值因 HTTP 用戶端實作而異： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdk-for-java/latest/developer-guide/metrics-list.html) 此值的範圍為個別 HTTP 用戶端執行個體，並排除來自相同 JVM 中其他 HTTP 用戶端的並行。  |  Integer  |  Apache、Netty、CRT  | 
|  PendingConcurrencyAcquires  |  等待來自 HTTP 用戶端並行的請求數量。 對於 HTTP/1 操作，這等於等待 TCP 連線從連線集區建立或傳回的請求數目。對於 HTTP/2 操作，這等於從連線集區等待新串流 （可能為新的 HTTP/2 連線） 的請求數量。 注意：此值因 HTTP 用戶端實作而異： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdk-for-java/latest/developer-guide/metrics-list.html) 此值的範圍為個別 HTTP 用戶端執行個體，並排除來自相同 JVM 中其他 HTTP 用戶端的並行。  |  Integer  |  Apache、Netty、CRT  | 
|  RemoteStreamWindowSize  |  執行此請求之串流的遠端 HTTP/2 視窗大小，以位元組為單位。  |  Integer  |  Netty  | 

\$1[java.time.Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html)。

資料欄中使用的術語表示：
+ Apache：以 Apache 為基礎的 HTTP 用戶端 (`[ApacheHttpClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.html)`)
+ Netty：以 Netty 為基礎的 HTTP 用戶端 (`[NettyNioAsyncHttpClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.html)`)
+ CRT：以 AWS CRT 為基礎的 HTTP 用戶端 (`[AwsCrtAsyncHttpClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.html)`)
+ 任何：指標資料的集合不依賴於 HTTP 用戶端；這包括 URLConnection 型 HTTP 用戶端 (`[UrlConnectionHttpClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClient.html)`)