Class CoreMetric

    • Field Detail

      • 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.
      • 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.