本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon SDK for Java 2.x: 综合指标参考
借助 Amazon SDK for Java 2.x,您可以从应用程序中的服务客户端收集指标,然后将这些指标发布(输出)到 Amazon CloudWatch。
这些表列出了您可以收集的指标以及任何 HTTP 客户端使用要求。
有关为 SDK 启用和配置指标的更多信息,请参阅启用 SDK 指标。
每次请求收集的指标
| 指标名称 | 描述 | 类型 |
|---|---|---|
|
ApiCallDuration |
API 调用的持续时间。这包括所有尝试拨打的电话。 |
持续时间* |
|
ApiCallSuccessful |
如果 API 调用成功则为真,否则为假。 |
布尔值 |
|
CredentialsFetchDuration |
获取 API 调用的签名凭证的持续时间。 |
持续时间* |
| EndpointResolveDuration | 解析用于 API 调用的端点的持续时间。 | 持续时间* |
|
MarshallingDuration |
将 SDK 请求编组为 HTTP 请求的持续时间。 |
持续时间* |
|
OperationName |
正在调用的服务操作的名称。 |
字符串 |
|
RetryCount |
SDK 在执行请求时执行的重试次数。0 表示该请求在第一次运行且未尝试重试。 有关配置重试行为的更多信息,请参阅重试策略。 |
整数 |
|
ServiceId |
服务的唯一 ID。 |
字符串 |
|
ServiceEndpoint |
服务的终端节点。 |
URI |
|
TokenFetchDuration |
获取 API 调用的签名凭证的持续时间。 | 持续时间* |
* java.time.
为每次请求尝试收集的指标
每个 API 调用可能需要多次尝试才能收到响应。每次尝试都会收集这些指标。
核心指标
| 指标名称 | 描述 | 类型 |
|---|---|---|
|
AwsExtendedRequestId |
服务请求的扩展请求 ID。 |
字符串 |
|
AwsRequestId |
服务请求的请求 ID。 |
字符串 |
|
BackoffDelayDuration |
在这次 API 调用尝试之前,SDK 已等待的持续时间。该值基于客户端上 |
持续时间* |
| ErrorType |
尝试呼叫时发生的错误类型。 以下是可能的值:
|
字符串 |
| ReadThroughput |
客户端的读取吞吐量,定义为 请注意,此指标仅测量从 |
双精度 |
|
ServiceCallDuration |
连接到服务(或从连接池中获取连接)、发送序列化请求和接收初始响应(例如 HTTP 状态码和标头)的持续时间。这不包括从服务中读取整个响应的时间。 |
持续时间* |
|
SigningDuration |
对 HTTP 请求进行签名的持续时间。 |
持续时间* |
| TimeToFirstByte | 从向服务发送 HTTP 请求(包括获取连接)到收到响应中标头的第一个字节的持续时间。 | 持续时间* |
| TimeToLastByte |
从向服务发送 HTTP 请求(包括获取连接)到收到响应的最后一个字节的持续时间。 请注意,对于 APIs 返回的流媒体响应,此指标跨越了直到 |
持续时间* |
|
UnmarshallingDuration |
解除对 SDK 响应的 HTTP 响应的时长。 注意:对于流媒体操作,这不包括读取响应负载的时间。 |
持续时间* |
* java.time.
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 |
* java.time.
该栏中使用的术语意味着:
-
Apache:基于 Apache 的 HTTP 客户端 (
ApacheHttpClient) -
Netty:基于 Netty 的 HTTP 客户端 (
NettyNioAsyncHttpClient) -
CRT: Amazon 基于 CRT 的 HTTP 客户端 ()
AwsCrtAsyncHttpClient -
任意:指标数据的收集不依赖于 HTTP 客户端;这包括 URLConnection基于的 HTTP 客户端 (
UrlConnectionHttpClient)