

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

# 從 發佈 SDK 指標 AWS SDK for Java 2.x
<a name="metrics"></a>

使用 AWS SDK for Java 2.x ，您可以收集應用程式中服務用戶端和請求的指標，分析 Amazon CloudWatch Logs 中的輸出，然後對其採取行動。

根據預設，在 SDK 中會停用指標集合。本主題可協助您啟用和設定它。

## SDK 指標入門
<a name="getting-started-with-metrics"></a>

若要在您的應用程式中啟用指標收集，請根據您的使用案例選擇適當的`[MetricPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/MetricPublisher.html)`界面實作，並遵循詳細的設定指示：

**對於長時間執行的應用程式：**
+ 使用 `[CloudWatchMetricPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/publishers/cloudwatch/CloudWatchMetricPublisher.html)`
+ 如需完整的設定指示、程式碼範例和組態選項，請參閱[從長時間執行的應用程式發佈 SDK 指標](metric-pub-impl-cwmp.md)。

**對於 AWS Lambda 函數：**
+ 使用 `[EmfMetricLoggingPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/publishers/emf/EmfMetricLoggingPublisher.html)`
+ 如需完整的設定指示、相依性和 Lambda 特定組態，請參閱[發佈 AWS Lambda 函數的 SDK 指標](metric-pub-impl-emf.md)。

**針對故障診斷和主控台輸出：**
+ 使用 `[LoggingMetricPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/LoggingMetricPublisher.html)`
+ 如需設定指示、格式化選項，以及本機[開發和故障診斷的範例，請參閱將 SDK 指標輸出至主控台以進行開發和偵錯](metric-pub-impl-logging.md)。

## 快速實作預覽
<a name="quick-implementation-preview"></a>

以下是為每個使用案例啟用指標的外觀：

**長時間執行的應用程式：**

```
MetricPublisher metricsPub = CloudWatchMetricPublisher.create();
DynamoDbClient ddb = DynamoDbClient.builder()
    .overrideConfiguration(c -> c.addMetricPublisher(metricsPub))
    .build();
```

**Lambda 函數：**

```
EmfMetricLoggingPublisher emfPublisher = EmfMetricLoggingPublisher.builder()
    .namespace("MyApp")
    .build();
DynamoDbClient dynamoDb = DynamoDbClient.builder()
    .overrideConfiguration(c -> c.addMetricPublisher(emfPublisher))
    .build();
```

**開發和偵錯：**

```
MetricPublisher loggingPublisher = LoggingMetricPublisher.create();
S3Client s3 = S3Client.builder()
    .overrideConfiguration(c -> c.addMetricPublisher(loggingPublisher))
    .build();
```

## AWS CRT 型 S3 用戶端的指標限制
<a name="metrics-using-s3-crt-based-client"></a>

[AWS CRT 型 S3 用戶端](crt-based-s3-client.md)目前不支援 SDK 指標集合。 AWS CRT 型 S3 用戶端執行個體 的建置器[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3CrtAsyncClientBuilder.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3CrtAsyncClientBuilder.html)不提供設定指標發佈者的方法。

## 何時可使用指標？
<a name="when-are-metrics-available"></a>

指標通常會在適用於 Java 的 開發套件發出後 5-10 分鐘內提供。如需準確且up-to-date指標，請在從 Java 應用程式發出指標後至少 10 分鐘檢查 Cloudwatch。

## 會收集哪些資訊？
<a name="what-information-is-collected"></a>

指標集合包括下列項目：
+ API 請求的數量，包括它們是成功還是失敗
+  AWS 服務 您在 API 請求中呼叫 的相關資訊，包括傳回的例外狀況
+ 各種操作的持續時間，例如封送、簽署和 HTTP 請求
+ HTTP 用戶端指標，例如開啟的連線數量、待處理的請求數量，以及使用的 HTTP 用戶端名稱

**注意**  
可用的指標因 HTTP 用戶端而異。

如需完整清單，請參閱[服務用戶端指標](metrics-list.md)。

## 如何使用此資訊？
<a name="how-can-i-use-this-information"></a>

您可以使用 SDK 收集的指標來監控應用程式中的服務用戶端。您可以查看整體用量趨勢、識別異常、檢閱傳回的服務用戶端例外狀況，或深入了解特定問題。使用 Amazon CloudWatch Logs，您也可以建立警示，在應用程式到達您定義的條件時立即通知您。

如需詳細資訊，請參閱《[Amazon CloudWatch Logs 使用者指南》中的使用 Amazon CloudWatch Logs 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)[和 Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)[使用 Amazon CloudWatch Logs Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。