AWS SDK for Java 2.x: referência abrangente de métricas
Com o AWS SDK for Java 2.x, você pode coletar métricas dos clientes de serviço em sua aplicação e depois publicar (gerar) essas métricas no Amazon CloudWatch.
Essas tabelas listam as métricas que é possível coletar e os requisitos de uso do cliente HTTP.
Para obter mais informações sobre como habilitar e configurar métricas para o SDK, consulte Como habilitar métricas do SDK.
Métricas coletadas com cada solicitação
| Nome da métrica | Descrição | Tipo |
|---|---|---|
|
ApiCallDuration |
A duração da chamada de API. Isso inclui todas as tentativas de chamada feitas. |
Duração* |
|
ApiCallSuccessful |
Verdadeiro se a chamada de API foi bem-sucedida, falso se não foi. |
Booleano |
|
CredentialsFetchDuration |
O tempo necessário para obter as credenciais de assinatura para a chamada da API. |
Duração* |
| EndpointResolveDuration | A duração do tempo para resolver o endpoint usado na chamada de API. | Duração* |
|
MarshallingDuration |
O tempo necessário para converter a solicitação de SDK em uma solicitação HTTP. |
Duração* |
|
OperationName |
O nome da operação de serviço que está sendo invocada. |
String |
|
RetryCount |
O número de novas tentativas que o SDK realizou na execução da solicitação. 0 indica que a solicitação funcionou na primeira vez e que nenhuma tentativa foi feita. Consulte mais informações sobre como configurar a retenção de dados em Estratégias de novas tentativas. |
Inteiro |
|
ServiceId |
O ID exclusivo para o serviço. |
String |
|
ServiceEndpoint |
O endpoint para o serviço. |
URI |
|
TokenFetchDuration |
O tempo necessário para obter as credenciais de assinatura para a chamada da API. | Duração* |
Métricas coletadas para cada tentativa de solicitação
Cada chamada de API pode exigir várias tentativas antes de receber uma resposta. Essas métricas são coletadas para cada tentativa.
Métricas principais
| Nome da métrica | Descrição | Tipo |
|---|---|---|
|
AwsExtendedRequestId |
O ID da solicitação estendida da solicitação de serviço. |
String |
|
AwsRequestId |
O ID da solicitação de serviço. |
String |
|
BackoffDelayDuration |
O tempo que o SDK esperou antes dessa tentativa de chamada de API. O valor é baseado no conjunto |
Duração* |
| ErrorType |
O tipo de erro que ocorreu em uma tentativa de chamada. Os valores possíveis são:
|
String |
| ReadThroughput |
O throughput de leitura do cliente, definido como Observe que essa métrica mede apenas os bytes lidos de dentro do |
Duplo |
|
ServiceCallDuration |
O tempo necessário para se conectar ao serviço (ou adquirir uma conexão do pool de conexões), enviar a solicitação serializada e receber a resposta inicial (por exemplo, código de status e cabeçalhos HTTP). Isso NÃO inclui o tempo para ler toda a resposta do serviço. |
Duração* |
|
SigningDuration |
O tempo necessário para assinar a solicitação HTTP. |
Duração* |
| TimeToFirstByte | O tempo necessário do envio da solicitação HTTP (incluindo a aquisição de uma conexão) até o serviço e o recebimento do primeiro byte dos cabeçalhos na resposta. | Duração* |
| TimeToLastByte |
O tempo necessário do envio da solicitação HTTP (incluindo a aquisição de uma conexão) até o serviço e o recebimento do último byte da resposta. Observe que, para APIs que retornam respostas de streaming, essa métrica abrange o tempo até a conclusão do |
Duração* |
|
UnmarshallingDuration |
O tempo necessário para desvincular uma resposta HTTP de uma resposta do SDK. Observação: para operações de streaming, isso não inclui o tempo de leitura da carga útil da resposta. |
Duração* |
Métricas HTTP
| Nome da métrica | Descrição | Tipo | Um cliente HTTP é necessário* |
|---|---|---|---|
|
AvailableConcurrency |
O número de solicitações simultâneas adicionais que o cliente HTTP suporta sem estabelecer novas conexões com o servidor de destino. Para operações HTTP/1, isso é igual ao número de conexões TCP ociosas estabelecidas com o serviço. Para operações HTTP/2, isso é igual ao número de fluxos ociosos. Observação: esse valor varia de acordo com a implementação do cliente HTTP:
O valor tem como escopo uma instância individual do cliente HTTP e exclui a simultaneidade de outros clientes HTTP na mesma JVM. |
Inteiro |
Apache, Netty, CRT |
|
ConcurrencyAcquireDuration |
O tempo necessário para adquirir um canal do grupo de conexões. Para operações HTTP/1, um canal é igual a uma conexão TCP. Para operações HTTP/2, um canal é igual a um canal de fluxo HTTP/2. A aquisição de um novo canal pode incluir tempo para:
|
Duração* |
Apache, Netty, CRT |
|
HttpClientName |
O nome do HTTP usado para a solicitação. |
String |
Apache, Netty, CRT |
|
HttpStatusCode |
O código de status da resposta HTTP. |
Inteiro |
Any |
|
LeasedConcurrency |
O número de solicitações que estão sendo executadas atualmente pelo cliente HTTP. Para operações HTTP/1, isso é igual ao número de conexões TCP ativas estabelecidas com o serviço (excluindo conexões ociosas). Para operações HTTP/2, isso é igual ao número de fluxos HTTP ativos com o serviço (excluindo a capacidade de fluxo ocioso). Observação: esse valor varia de acordo com a implementação do cliente HTTP:
O valor tem como escopo uma instância individual do cliente HTTP e exclui a simultaneidade de outros clientes HTTP na mesma JVM. |
Inteiro |
Apache, Netty, CRT |
|
LocalStreamWindowSize |
O tamanho da janela HTTP/2 local em bytes para o fluxo que executa essa solicitação. |
Inteiro |
Netty |
|
MaxConcurrency |
O número máximo de solicitações simultâneas que o cliente HTTP suporta. Para operações HTTP/1, isso é igual ao número máximo de conexões TCP que o cliente HTTP pode agrupar. Para operações HTTP/2, isso é igual ao número máximo de fluxos que o cliente HTTP pode agrupar. Observação: esse valor varia de acordo com a implementação do cliente HTTP:
O valor tem como escopo uma instância individual do cliente HTTP e exclui a simultaneidade de outros clientes HTTP na mesma JVM. |
Inteiro |
Apache, Netty, CRT |
|
PendingConcurrencyAcquires |
O número de solicitações que aguardam a simultaneidade do cliente HTTP. Para operações HTTP/1, isso é igual ao número de solicitações que aguardam o estabelecimento ou o retorno de uma conexão TCP do pool de conexões. Para operações HTTP/2, isso é igual ao número de solicitações que aguardam um novo fluxo (e, possivelmente, uma nova conexão HTTP/2) do grupo de conexões. Observação: esse valor varia de acordo com a implementação do cliente HTTP:
O valor tem como escopo uma instância individual do cliente HTTP e exclui a simultaneidade de outros clientes HTTP na mesma JVM. |
Inteiro |
Apache, Netty, CRT |
|
RemoteStreamWindowSize |
O tamanho da janela HTTP/2 remota em bytes para o fluxo que executa essa solicitação. |
Inteiro |
Netty |
Os termos usados na coluna significam:
-
Apache: o cliente HTTP baseado no Apache (
ApacheHttpClient) -
Netty: o cliente HTTP baseado em Netty (
NettyNioAsyncHttpClient) -
CRT: o cliente HTTP AWS baseado em CRT (
AwsCrtAsyncHttpClient) -
Todos: a coleta de dados métricos não depende do cliente HTTP; isso inclui o cliente HTTP baseado em conexão URL (
UrlConnectionHttpClient)