AWS SDK for Java 2.x: Referência abrangente de métricas - AWS SDK for Java 2.x

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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 seu aplicativo e depois publicar (gerar) essas métricas na 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 da API. Isso inclui todas as tentativas de chamada feitas.

Duração*

ApiCallSuccessful

Verdadeiro se a chamada da API for bem-sucedida; caso contrário, falso.

Booleano

CredentialsFetchDuration

A duração do tempo para buscar as credenciais de assinatura para a chamada da API.

Duração*

EndpointResolveDuration A duração do tempo para resolver o endpoint usado para a chamada da API. Duração*

MarshallingDuration

A duração do tempo para agrupar a solicitação do 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.

Para obter mais informações sobre como configurar o comportamento de repetição, consulte. Estratégias de repetição

Inteiro

ServiceId

O ID exclusivo do serviço.

String

ServiceEndpoint

O endpoint do serviço.

URI

TokenFetchDuration

A duração do tempo para buscar as credenciais de assinatura para a chamada da API. Duração*

* java.time.Duration.

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 BackoffStrategy conjunto do cliente. Consulte a Estratégias de repetição seção deste guia para obter mais informações.

Duração*

ErrorType

O tipo de erro que ocorreu em uma tentativa de chamada.

Os valores possíveis são:

  • Throttling: O serviço respondeu com um erro de limitação.

  • ServerError: o serviço respondeu com um erro diferente de limitação.

  • ConfiguredTimeout: ocorreu um tempo limite do cliente, seja no nível da chamada da API ou no nível da tentativa de chamada da API.

  • IO: I/O Ocorreu um erro.

  • Other: Veja todos os outros erros que não se enquadram em nenhuma das categorias listadas acima.

String
ReadThroughput

A taxa de transferência de leitura do cliente, definida comoNumberOfResponseBytesRead / (TTLB - TTFB). Esse valor está em bytes por segundo.

Observe que essa métrica mede apenas os bytes lidos de dentro do ResponseTransformer ouAsyncResponseTransformer. Os dados que são lidos fora do transformador, por exemplo, quando o fluxo de resposta é retornado como resultado do transformador, não são incluídos no cálculo.

Duplo

ServiceCallDuration

A duração do tempo 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

A duração do tempo para assinar a solicitação HTTP.

Duração*

TimeToFirstByte A duração do envio da solicitação HTTP (incluindo a aquisição de uma conexão) para o serviço e o recebimento do primeiro byte dos cabeçalhos na resposta. Duração*
TimeToLastByte

A duração do envio da solicitação HTTP (incluindo a aquisição de uma conexão) para o serviço e o recebimento do último byte da resposta.

Observe que, para APIs essas respostas de streaming de retorno, essa métrica abrange o tempo até a AsyncResponseTransformer conclusão do ResponseTransformer ou.

Duração*

UnmarshallingDuration

A duração do tempo para desorganizar a resposta HTTP a 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*

* java.time.Duration.

Métricas HTTP

Nome da métrica Descrição Tipo 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:

  • Cliente Apache: o valor se aplica a todo o cliente HTTP

  • Cliente Netty: o valor se aplica por endpoint

  • AWS Cliente baseado em CRT: o valor se aplica por endpoint

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

A duração do tempo para adquirir um canal do pool 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:

  1. Aguardando uma permissão de simultaneidade, conforme restringido pela configuração máxima de simultaneidade do cliente.

  2. Estabelecer uma nova conexão, se nenhuma conexão existente estiver disponível no pool.

  3. Executando o handshake e a negociação do TLS, se o TLS estiver ativado.

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 o cliente HTTP executa atualmente.

Para operações HTTP/1, isso é igual ao número de conexões TCP ativas 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:

  • Cliente Apache: o valor se aplica a todo o cliente HTTP

  • Cliente Netty: o valor se aplica por endpoint

  • AWS Cliente baseado em CRT: o valor se aplica por endpoint

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:

  • Cliente Apache: o valor se aplica a todo o cliente HTTP

  • Cliente Netty: o valor se aplica por endpoint

  • AWS Cliente baseado em CRT: o valor se aplica por endpoint

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 aguardando um novo fluxo (e possivelmente uma nova conexão HTTP/2) do pool de conexões.

Observação: esse valor varia de acordo com a implementação do cliente HTTP:

  • Cliente Apache: o valor se aplica a todo o cliente HTTP

  • Cliente Netty: o valor se aplica por endpoint

  • AWS Cliente baseado em CRT: o valor se aplica por endpoint

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

* java.time.Duration.

Os termos usados na coluna significam: