AWS SDK for Java 2.x: referencia completa de métricas - AWS SDK for Java 2.x

AWS SDK for Java 2.x: referencia completa de métricas

Con el AWS SDK for Java 2.x, puede recopilar métricas de los clientes de servicio de su aplicación y, a continuación, publicarlas (sacar) esas métricas en Amazon CloudWatch.

En estas tablas, se muestran las métricas que puede recopilar y cualquier requisito de uso del cliente HTTP.

Para obtener más información sobre cómo habilitar y configurar las métricas del SDK, consulte Habilitar métricas del SDK.

Métricas recopiladas con cada solicitud

Nombre de métrica Descripción Tipo

ApiCallDuration

Duración de la llamada a la API. Incluye todos los intentos de llamada realizados.

Duración*

ApiCallSuccessful

Verdadero si la llamada a la API se realizó correctamente; false en caso contrario.

Booleano

CredentialsFetchDuration

Tiempo que se tarda en obtener credenciales de firma para la llamada a la API.

Duración*

EndpointResolveDuration Tiempo que se tarda en resolver el punto de conexión utilizado para la llamada a la API. Duración*

MarshallingDuration

Tiempo que se tarda en serializar una solicitud del SDK en una solicitud HTTP.

Duración*

OperationName

Nombre de la operación de servicio que se invoca.

Cadena

RetryCount

Número de reintentos que el SDK realizó al ejecutar la solicitud. 0 implica que la solicitud funcionó la primera vez y no se volvió a intentar.

Para obtener más información sobre cómo configurar el comportamiento de reintento, consulte Estrategias de reintento.

Entero

ServiceId

ID exclusivo del servicio.

Cadena

ServiceEndpoint

Punto de conexión del servicio.

URI

TokenFetchDuration

Tiempo que se tarda en obtener credenciales de firma para la llamada a la API. Duración*

*java.time.Duration.

Métricas recopiladas para cada intento de solicitud

Es posible que cada llamada a la API requiera varios intentos antes de recibir una respuesta. Estas métricas se recogen para cada intento.

Métricas principales

Nombre de métrica Descripción Tipo

AwsExtendedRequestId

ID de solicitud extendida de la solicitud de servicio.

Cadena

AwsRequestId

ID de solicitud de la solicitud de servicio.

Cadena

BackoffDelayDuration

Tiempo que el SDK esperó antes de este intento de llamada a la API. El valor se basa en el conjunto BackoffStrategy del cliente. Consulte la sección Estrategias de reintento de esta guía para obtener más información.

Duración*

ErrorType

Tipo de error que se produjo en un intento de llamada.

Los valores posibles son los siguientes:

  • Throttling: el servicio ha respondido con un error de limitación.

  • ServerError: el servicio ha respondido con un error que no es de limitación.

  • ConfiguredTimeout: se agotó el tiempo de espera del cliente, en el nivel de llamada a la API o en el nivel de intento de llamada a la API.

  • IO: se ha producido un error de E/S.

  • Other: se aplica catch-all a todos los demás errores que no correspondan a una de las categorías de la lista anterior.

Cadena
ReadThroughput

Rendimiento de lectura del cliente, definido como NumberOfResponseBytesRead / (TTLB - TTFB). Este valor se expresa en bytes por segundo.

Tenga en cuenta que esta métrica solo mide los bytes leídos desde ResponseTransformer o AsyncResponseTransformer. Los datos que se leen fuera del transformador (por ejemplo, cuando el flujo de respuesta se devuelve como resultado del transformador) no se incluyen en el cálculo.

Doble

ServiceCallDuration

Tiempo necesario para conectarse al servicio (o adquirir una conexión desde el grupo de conexiones), enviar la solicitud serializada y recibir la respuesta inicial (por ejemplo, código de estado HTTP y encabezados). NO incluye el tiempo necesario para leer la respuesta completa del servicio.

Duración*

SigningDuration

Duración del tiempo para firmar la solicitud HTTP.

Duración*

TimeToFirstByte Tiempo transcurrido desde el envío de la solicitud HTTP (incluida la adquisición de una conexión) al servicio hasta la recepción del primer byte de los encabezados de la respuesta. Duración*
TimeToLastByte

Tiempo transcurrido desde el envío de la solicitud HTTP (incluida la adquisición de una conexión) al servicio hasta la recepción del último byte de la respuesta.

Tenga en cuenta que, en el caso de las API que devuelven respuestas de streaming, esta métrica abarca el tiempo hasta que se complete ResponseTransformer o AsyncResponseTransformer.

Duración*

UnmarshallingDuration

Tiempo que se tarda en desactivar la serialización de la respuesta HTTP a una respuesta del SDK.

Nota: En el caso de las operaciones de streaming, esto no incluye el tiempo necesario para leer la carga útil de la respuesta.

Duración*

*java.time.Duration.

Métricas de HTTP

Nombre de métrica Descripción Tipo Cliente HTTP necesario*

AvailableConcurrency

Número de solicitudes simultáneas adicionales que admite el cliente HTTP sin establecer nuevas conexiones con el servidor de destino.

En el caso de operaciones HTTP/1, es igual al número de conexiones TCP inactivas establecidas con el servicio. En el caso de operaciones HTTP/2, es igual al número de transmisiones inactivas.

Nota: Este valor varía según la implementación del cliente HTTP:

  • Cliente de Apache: el valor se aplica a todo el cliente HTTP

  • Cliente de Netty: el valor se aplica por punto de conexión

  • Cliente basado en AWS CRT: el valor se aplica por punto de conexión

El valor incluye una instancia de cliente HTTP individual y excluye la simultaneidad de otros clientes HTTP en la misma JVM.

Entero

Apache, Netty, CRT

ConcurrencyAcquireDuration

Tiempo que se tarda en adquirir un canal del grupo de conexiones.

En el caso de operaciones HTTP/1, un canal equivale a una conexión TCP. En el caso de operaciones HTTP/2, un canal equivale a un canal de streaming HTTP/2.

La adquisición de un nuevo canal puede incluir tiempo para:

  1. En espera de un permiso de simultaneidad, restringido por la configuración de simultaneidad máxima del cliente.

  2. Estableciendo una nueva conexión, si no hay ninguna conexión disponible en el grupo.

  3. Realizando el establecimiento de comunicación y la negociación de TLS, si está activado TLS.

Duración*

Apache, Netty, CRT

HttpClientName

Nombre del HTTP que se utiliza para la solicitud

Cadena

Apache, Netty, CRT

HttpStatusCode

Código de estado de la respuesta HTTP.

Entero

Cualquiera

LeasedConcurrency

Número de solicitudes que el cliente de HTTP está ejecutando actualmente

En el caso de operaciones HTTP/1, es igual al número de conexiones TCP activas con el servicio (excluidas las conexiones inactivas). En el caso de las operaciones HTTP/2, es igual al número de flujos de HTTP activos con el servicio (excluida la capacidad de flujos inactivos).

Nota: Este valor varía según la implementación del cliente HTTP:

  • Cliente de Apache: el valor se aplica a todo el cliente HTTP

  • Cliente de Netty: el valor se aplica por punto de conexión

  • Cliente basado en AWS CRT: el valor se aplica por punto de conexión

El valor incluye una instancia de cliente HTTP individual y excluye la simultaneidad de otros clientes HTTP en la misma JVM.

Entero

Apache, Netty, CRT

LocalStreamWindowSize

Tamaño de la ventana HTTP/2 local en bytes del flujo que ejecuta esta solicitud.

Entero

Netty

MaxConcurrency

Número máximo de solicitudes simultáneas que admite el cliente HTTP.

En el caso de las operaciones HTTP/1, es igual al número máximo de conexiones TCP que el cliente HTTP puede agrupar. En el caso de las operaciones HTTP/2, es igual al número máximo de flujos que el cliente HTTP puede agrupar.

Nota: Este valor varía según la implementación del cliente HTTP:

  • Cliente de Apache: el valor se aplica a todo el cliente HTTP

  • Cliente de Netty: el valor se aplica por punto de conexión

  • Cliente basado en AWS CRT: el valor se aplica por punto de conexión

El valor incluye una instancia de cliente HTTP individual y excluye la simultaneidad de otros clientes HTTP en la misma JVM.

Entero

Apache, Netty, CRT

PendingConcurrencyAcquires

Número de solicitudes que esperan simultaneidad del cliente HTTP.

En el caso de las operaciones HTTP/1, es igual al número de solicitudes que esperan que se establezca una conexión TCP o se devuelva del grupo de conexiones. En el caso de las operaciones HTTP/2, es igual al número de solicitudes que esperan un nuevo flujo (y posiblemente una nueva conexión HTTP/2) del grupo de conexiones.

Nota: Este valor varía según la implementación del cliente HTTP:

  • Cliente de Apache: el valor se aplica a todo el cliente HTTP

  • Cliente de Netty: el valor se aplica por punto de conexión

  • Cliente basado en AWS CRT: el valor se aplica por punto de conexión

El valor incluye una instancia de cliente HTTP individual y excluye la simultaneidad de otros clientes HTTP en la misma JVM.

Entero

Apache, Netty, CRT

RemoteStreamWindowSize

Tamaño de la ventana HTTP/2 remota en bytes del flujo que ejecuta esta solicitud.

Entero

Netty

*java.time.Duration.

Los términos utilizados en las tablas significan: