Class CoreMetric

java.lang.Object
software.amazon.awssdk.core.metrics.CoreMetric

public final class CoreMetric extends Object
  • Field Details

    • SERVICE_ID

      public static final SdkMetric<String> SERVICE_ID
      The unique ID for the service. This is present for all API call metrics.
    • OPERATION_NAME

      public static final SdkMetric<String> OPERATION_NAME
      The name of the service operation being invoked. This is present for all API call metrics.
    • API_CALL_SUCCESSFUL

      public static final SdkMetric<Boolean> API_CALL_SUCCESSFUL
      True if the API call succeeded, false otherwise.
    • RETRY_COUNT

      public static final SdkMetric<Integer> RETRY_COUNT
      The number of retries that the SDK performed in the execution of the request. 0 implies that the request worked the first time, and no retries were attempted.
    • SERVICE_ENDPOINT

      public static final SdkMetric<URI> SERVICE_ENDPOINT
      The endpoint for the service.
    • API_CALL_DURATION

      public static final SdkMetric<Duration> API_CALL_DURATION
      The duration of the API call. This includes all call attempts made.

      API_CALL_DURATION ~= CREDENTIALS_FETCH_DURATION + MARSHALLING_DURATION + SUM_ALL(BACKOFF_DELAY_DURATION) + SUM_ALL(SIGNING_DURATION) + SUM_ALL(SERVICE_CALL_DURATION) + SUM_ALL(UNMARSHALLING_DURATION)

    • CREDENTIALS_FETCH_DURATION

      public static final SdkMetric<Duration> CREDENTIALS_FETCH_DURATION
      The duration of time taken to fetch signing credentials for the API call.
    • TOKEN_FETCH_DURATION

      public static final SdkMetric<Duration> TOKEN_FETCH_DURATION
      The duration of time taken to fetch signing credentials for the API call.
    • BACKOFF_DELAY_DURATION

      public static final SdkMetric<Duration> BACKOFF_DELAY_DURATION
      The duration of time that the SDK has waited before this API call attempt, based on the RetryPolicy.backoffStrategy().
    • MARSHALLING_DURATION

      public static final SdkMetric<Duration> MARSHALLING_DURATION
      The duration of time taken to marshall the SDK request to an HTTP request.
    • SIGNING_DURATION

      public static final SdkMetric<Duration> SIGNING_DURATION
      The duration of time taken to sign the HTTP request.
    • SERVICE_CALL_DURATION

      public static final SdkMetric<Duration> SERVICE_CALL_DURATION
      The duration of time taken to connect to the service (or acquire a connection from the connection pool), send the serialized request and receive the initial response (e.g. HTTP status code and headers). This DOES NOT include the time taken to read the entire response from the service.
    • UNMARSHALLING_DURATION

      public static final SdkMetric<Duration> UNMARSHALLING_DURATION
      The duration of time taken to unmarshall the HTTP response to an SDK response.

      Note: For streaming operations, this does not include the time to read the response payload.

    • AWS_REQUEST_ID

      public static final SdkMetric<String> AWS_REQUEST_ID
      The request ID of the service request.
    • AWS_EXTENDED_REQUEST_ID

      public static final SdkMetric<String> AWS_EXTENDED_REQUEST_ID
      The extended request ID of the service request.
    • TIME_TO_FIRST_BYTE

      public static final SdkMetric<Duration> TIME_TO_FIRST_BYTE
      The duration of time between from sending the HTTP request (including acquiring a connection) to the service, and receiving the first byte of the headers in the response.
    • TIME_TO_LAST_BYTE

      public static final SdkMetric<Duration> TIME_TO_LAST_BYTE
      The duration of time between from sending the HTTP request (including acquiring a connection) to the service, and receiving the last byte of the response.

      Note that for APIs that return streaming responses, this metric spans the time until the ResponseTransformer or AsyncResponseTransformer completes.

    • READ_THROUGHPUT

      public static final SdkMetric<Double> READ_THROUGHPUT
      The read throughput of the client, defined as NumberOfResponseBytesRead / (TTLB - TTFB). This value is in bytes per second.

      Note that this metric only measures the bytes read from within the ResponseTransformer or AsyncResponseTransformer. Data that is read outside the transformer (e.g. when the response stream is returned as the result of the transformer) is not included in the calculation.

    • ENDPOINT_RESOLVE_DURATION

      public static final SdkMetric<Duration> ENDPOINT_RESOLVE_DURATION
      The duration of time it took to resolve the endpoint used for the API call.
    • ERROR_TYPE

      public static final SdkMetric<String> ERROR_TYPE
      The type of error that occurred for a call attempt.

      The following are possible values:

      • Throttling - The service responded with a throttling error.
      • ServerError - The service responded with an error other than throttling.
      • ClientTimeout - A client timeout occurred, either at the API call level, or API call attempt level.
      • IO - An I/O error occurred.
      • Other - Catch-all for other errors that don't fall into the above categories.