AWS SDK for Java 2.x:全面的指标参考
借助AWS SDK for Java 2.x,您可以从应用程序中的服务客户端收集指标,然后将这些指标发布(输出)到 Amazon CloudWatch。
这些表列出了您可以收集的指标以及任何 HTTP 客户端使用要求。
有关为 SDK 启用和配置指标的更多信息,请参阅启用 SDK 指标。
每次请求收集的指标
| 指标名称 | 描述 | 类型 |
|---|---|---|
|
ApiCallDuration |
API 调用的持续时间。这包括所有已发起的调用尝试。 |
持续时间* |
|
ApiCallSuccessful |
如果 API 调用成功则为 true,否则为 false。 |
布尔值 |
|
CredentialsFetchDuration |
获取 API 调用的签名凭证的持续时间。 |
持续时间* |
| EndpointResolveDuration | 解析 API 调用所用端点的持续时间。 | 持续时间* |
|
MarshallingDuration |
将 SDK 请求封送到 HTTP 请求的持续时间。 |
持续时间* |
|
OperationName |
所调用服务操作的名称。 |
字符串 |
|
RetryCount |
SDK 在执行请求时自动重试的次数。0 表示该请求第一次就成功了,没有进行任何重试。 有关配置重试行为的更多信息,请参阅重试策略。 |
整数 |
|
ServiceId |
服务的唯一 ID。 |
字符串 |
|
ServiceEndpoint |
服务的端点。 |
URI |
|
TokenFetchDuration |
获取 API 调用的签名凭证的持续时间。 | 持续时间* |
为每次请求尝试收集的指标
每个 API 调用可能需要多次尝试才能收到响应。每次尝试都会收集这些指标。
核心指标
| 指标名称 | 描述 | 类型 |
|---|---|---|
|
AwsExtendedRequestId |
服务请求的扩展请求 ID。 |
字符串 |
|
AwsRequestId |
服务请求的请求 ID。 |
字符串 |
|
BackoffDelayDuration |
在这次 API 调用尝试之前 SDK 已等待的持续时间。该值基于客户端上 |
持续时间* |
| ErrorType |
进行调用尝试时发生的错误类型。 以下是可能的值:
|
字符串 |
| ReadThroughput |
客户端的读取吞吐量,定义为 请注意,此指标仅测量从 |
双精度 |
|
ServiceCallDuration |
连接到服务(或从连接池中获取连接)、发送序列化请求和接收初始响应(例如 HTTP 状态码和标头)的持续时间。这不包括从服务中读取整个响应的时间。 |
持续时间* |
|
SigningDuration |
签署 HTTP 请求的持续时间。 |
持续时间* |
| TimeToFirstByte | 从将 HTTP 请求发送到服务(包括获取连接),到接收响应中标头的第一个字节的持续时间。 | 持续时间* |
| TimeToLastByte |
从将 HTTP 请求发送到服务(包括获取连接),到接收响应的最后一个字节的持续时间。 请注意,对于返回流式响应的 API,此指标涵盖了从开始直至 |
持续时间* |
|
UnmarshallingDuration |
将 HTTP 响应解组到 SDK 响应的持续时间。 注意:对于流式操作,这不包括读取响应有效载荷的时间。 |
持续时间* |
HTTP 指标
| 指标名称 | 描述 | 类型 | 需要 HTTP 客户端* |
|---|---|---|---|
|
AvailableConcurrency |
在不与目标服务器建立新连接的情况下,HTTP 客户端支持的额外并发请求数。 对于 HTTP/1 操作,这等于与服务建立的空闲 TCP 连接的数量。对于 HTTP/2 操作,这等于空闲流的数量。 注意:此值因 HTTP 客户端实现而异:
该值的范围限定于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发。 |
整数 |
Apache、Netty、CRT |
|
ConcurrencyAcquireDuration |
从连接池中获取通道的持续时间。 对于 HTTP/1 操作,通道等于 TCP 连接。对于 HTTP/2 操作,通道等于 HTTP/2 流通道。 获取新通道可能包括以下时间:
|
持续时间* |
Apache、Netty、CRT |
|
HttpClientName |
用于请求的 HTTP 的名称。 |
字符串 |
Apache、Netty、CRT |
|
HttpStatusCode |
HTTP 响应的状态代码。 |
整数 |
任何 |
|
LeasedConcurrency |
HTTP 客户端当前执行的请求数。 对于 HTTP/1 操作,这等于与服务建立的活跃 TCP 连接的数量(不包括空闲连接)。对于 HTTP/2 操作,这等于服务的活动 HTTP 流的数量(不包括空闲流容量)。 注意:此值因 HTTP 客户端实现而异:
该值的范围限定于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发。 |
整数 |
Apache、Netty、CRT |
|
LocalStreamWindowSize |
执行此请求的流的本地 HTTP/2 窗口大小(以字节为单位)。 |
整数 |
Netty |
|
MaxConcurrency |
HTTP 客户端支持的最大并发请求数。 对于 HTTP/1 操作,这等于 HTTP 客户端可以汇集的最大 TCP 连接数。对于 HTTP/2 操作,这等于 HTTP 客户端可以汇集的最大流数。 注意:此值因 HTTP 客户端实现而异:
该值的范围限定于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发。 |
整数 |
Apache、Netty、CRT |
|
PendingConcurrencyAcquires |
等待 HTTP 客户端并发的请求数。 对于 HTTP/1 操作,这等于等待 TCP 连接建立或从连接池返回的请求数。对于 HTTP/2 操作,这等于等待来自连接池的新流(可能还有新 HTTP/2 连接)的请求数。 注意:此值因 HTTP 客户端实现而异:
该值的范围限定于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发。 |
整数 |
Apache、Netty、CRT |
|
RemoteStreamWindowSize |
执行此请求的流的远程 HTTP/2 窗口大小(以字节为单位)。 |
整数 |
Netty |
列中所用术语解释:
-
Apache:基于 Apache 的 HTTP 客户端(
ApacheHttpClient) -
Netty:基于 Netty 的 HTTP 客户端(
NettyNioAsyncHttpClient) -
CRT:基于 AWS CRT 的 HTTP 客户端(
AwsCrtAsyncHttpClient) -
任意:指标数据的收集不依赖于 HTTP 客户端;这包括基于 URLConnection 的 HTTP 客户端(
UrlConnectionHttpClient)