Amazon SDK for Java 2.x: 综合指标参考 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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. Duration。

为每次请求尝试收集的指标

每个 API 调用可能需要多次尝试才能收到响应。每次尝试都会收集这些指标。

核心指标

指标名称 描述 类型

AwsExtendedRequestId

服务请求的扩展请求 ID。

字符串

AwsRequestId

服务请求的请求 ID。

字符串

BackoffDelayDuration

在这次 API 调用尝试之前,SDK 已等待的持续时间。该值基于客户端上BackoffStrategy设置的值。有关更多信息,请参阅本指南中的重试策略部分。

持续时间*

ErrorType

尝试呼叫时发生的错误类型。

以下是可能的值:

  • Throttling:服务响应时出现了限制错误。

  • ServerError:服务响应时出现了除限流之外的错误。

  • ConfiguredTimeout:在 API 调用级别或 API 调用尝试级别出现客户端超时。

  • IO: 发生了 I/O 错误。

  • Other:对于不属于上面列出的类别之一的其他错误,请一目了然。

字符串
ReadThroughput

客户端的读取吞吐量,定义为NumberOfResponseBytesRead / (TTLB - TTFB)。该值以每秒字节数为单位。

请注意,此指标仅测量从ResponseTransformer或内部读取的字节AsyncResponseTransformer。在转换器外部读取的数据(例如,当响应流作为转换器的结果返回时)不包括在计算中。

双精度

ServiceCallDuration

连接到服务(或从连接池中获取连接)、发送序列化请求和接收初始响应(例如 HTTP 状态码和标头)的持续时间。这不包括从服务中读取整个响应的时间。

持续时间*

SigningDuration

对 HTTP 请求进行签名的持续时间。

持续时间*

TimeToFirstByte 从向服务发送 HTTP 请求(包括获取连接)到收到响应中标头的第一个字节的持续时间。 持续时间*
TimeToLastByte

从向服务发送 HTTP 请求(包括获取连接)到收到响应的最后一个字节的持续时间。

请注意,对于 APIs 返回的流媒体响应,此指标跨越了直到ResponseTransformerAsyncResponseTransformer完成的时间。

持续时间*

UnmarshallingDuration

解除对 SDK 响应的 HTTP 响应的时长。

注意:对于流媒体操作,这不包括读取响应负载的时间。

持续时间*

* java.time. Duration。

HTTP 指标

指标名称 描述 类型 需要 HTTP 客户端*

AvailableConcurrency

在不与目标服务器建立新连接的情况下,HTTP 客户端支持的额外并发请求数。

对于 HTTP/1 操作,这等于与服务建立的空闲 TCP 连接的数量。对于 HTTP/2 操作,这等于空闲流的数量。

注意:此值因 HTTP 客户端实现而异:

  • Apache 客户端:值适用于整个 HTTP 客户端

  • Netty 客户端:值适用于每个端点

  • Amazon 基于 CRT 的客户端:值适用于每个端点

该值的作用域仅限于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发性。

整数

Apache、Netty、CRT

ConcurrencyAcquireDuration

从连接池中获取频道的持续时间。

对于 HTTP/1 操作,信道等于 TCP 连接。对于 HTTP/2 操作,频道等于 HTTP/2 流频道。

收购新频道可能包括以下时间:

  1. 正在等待并发许可,受客户端最大并发配置的限制。

  2. 如果池中没有可用的现有连接,则建立新连接。

  3. 如果启用了 TLS,则执行 TLS 握手和协商。

持续时间*

Apache、Netty、CRT

HttpClientName

用于请求的 HTTP 的名称。

字符串

Apache、Netty、CRT

HttpStatusCode

HTTP 响应的状态码。

整数

任何

LeasedConcurrency

HTTP 客户端当前执行的请求数。

对于 HTTP/1 操作,这等于服务的活动 TCP 连接数(不包括空闲连接)。对于 HTTP/2 操作,这等于服务的活动 HTTP 流的数量(不包括空闲流容量)。

注意:此值因 HTTP 客户端实现而异:

  • Apache 客户端:值适用于整个 HTTP 客户端

  • Netty 客户端:值适用于每个端点

  • Amazon 基于 CRT 的客户端:值适用于每个端点

该值的作用域仅限于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发性。

整数

Apache、Netty、CRT

LocalStreamWindowSize

执行此请求的流的本地 HTTP/2 窗口大小(以字节为单位)。

整数

Netty

MaxConcurrency

HTTP 客户端支持的最大并发请求数。

对于 HTTP/1 操作,这等于 HTTP 客户端可以池化的最大 TCP 连接数。对于 HTTP/2 操作,这等于 HTTP 客户端可以池化的最大流数。

注意:此值因 HTTP 客户端实现而异:

  • Apache 客户端:值适用于整个 HTTP 客户端

  • Netty 客户端:值适用于每个端点

  • Amazon 基于 CRT 的客户端:值适用于每个端点

该值的作用域仅限于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发性。

整数

Apache、Netty、CRT

PendingConcurrencyAcquires

等待 HTTP 客户端并发的请求数。

对于 HTTP/1 操作,这等于等待 TCP 连接建立或从连接池返回的请求数。对于 HTTP/2 操作,这等于等待连接池中新流(可能还有新的 HTTP/2 连接)的请求数。

注意:此值因 HTTP 客户端实现而异:

  • Apache 客户端:值适用于整个 HTTP 客户端

  • Netty 客户端:值适用于每个端点

  • Amazon 基于 CRT 的客户端:值适用于每个端点

该值的作用域仅限于单个 HTTP 客户端实例,不包括同一 JVM 中其他 HTTP 客户端的并发性。

整数

Apache、Netty、CRT

RemoteStreamWindowSize

执行此请求的流的远程 HTTP/2 窗口大小(以字节为单位)。

整数

Netty

* java.time. Duration。

该栏中使用的术语意味着: