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* |
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 |
Duración* |
| ErrorType |
Tipo de error que se produjo en un intento de llamada. Los valores posibles son los siguientes:
|
Cadena |
| ReadThroughput |
Rendimiento de lectura del cliente, definido como Tenga en cuenta que esta métrica solo mide los bytes leídos desde |
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 |
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* |
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:
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:
|
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:
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:
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:
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 |
Los términos utilizados en las tablas significan:
-
Apache: el cliente HTTP basado en Apache (
ApacheHttpClient) -
Netty: el cliente HTTP basado en Netty (
NettyNioAsyncHttpClient) -
CRT: el cliente HTTP basado en AWS CRT, (
AwsCrtAsyncHttpClient) -
Cualquiera: la recopilación de datos de métricas no depende del cliente HTTP; incluye el uso del cliente HTTP basado en URLConnection (
UrlConnectionHttpClient)