com.amazonaws.metrics.package-info Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-core Show documentation
Show all versions of aws-java-sdk-core Show documentation
The AWS SDK for Java - Core module holds the classes that are used by the individual service clients to interact with Amazon Web Services. Users need to depend on aws-java-sdk artifact for accessing individual client classes.
/*
* Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/**
* Classes used to support the AWS SDK metrics API.
*
* When the default metric collection system is enabled,
* the default AWS SDK implementation
* captures a set of predefined core metrics that are grouped under three major
* categories: AWS Request Metrics, AWS Service Metrics, and Machine Metrics.
* Nomenclature
*
* - Physical Http Request - an http request initiated by the http client library used by AWS Java SDK . No retry is involved, or at least not initiated from the JVM.
* - Logical Http Request - an http request initiated from the AWS Java SDK by executing the underlying http client library. A logical request may involve multiple physical requests due to retries.
* - Service Client type - the specific subtype of AmazonWebServiceClient, such as AmazonS3Client, AmazonDynamoDBClient, etc.
* - Request type - the specific subtype of AmazonWebServiceRequest, such as PutItemRequest, PutObjectRequest, etc.
* - Http Client Library - the Apache HttpComponents client library
*
*
* AWS Request Metrics
*
* - ClientExecuteTime - Total number of milliseconds taken for a
* request/response including the time taken to execute the request handlers,
* round trip to AWS, and the time taken to execute the response handlers.
* Captured on a per request type level.
* - Exception - Number of logical request failure. Captured both on a per service
* client type level and a per request type level.
* - HttpClientPoolAvailableCount - Number of idle persistent connections of
* the underlying httpclient.
* This metric is collected from the respective PoolStats before the connection of a request is obtained.
* - HttpClientPoolLeasedCount - Number of persistent connections tracked by
* the underlying httpclient connection manager currently being used to execute
* requests.
* This metric is collected from the respective PoolStats before the connection of a request is obtained.
* - HttpClientPoolPendingCount - Number of connection requests being blocked
* awaiting a free connection of the underlying httpclient.
* This metric is collected from the respective PoolStats. before the connection of a request is obtained
* - HttpRequestTime - Number of milliseconds taken for a logical request/response
* round trip to AWS. Captured on a per request type level.
* - HttpClientSendRequestTime - Number of milliseconds taken for a physical request
* to get sent to AWS. Captured on a per request type level.
* - HttpClientReceiveResponseTime - Number of milliseconds taken for a physical response
* to get received from AWS. Captured on a per request type level.
* - HttpClientRetryCount - Number of retries per physical request. Captured on a per service
* client type level.
* - RequestCount - Number of logical requests. Captured on a per service
* client type level.
* - RetryCount - Number of retries per logical request. Captured on a per service
* client type level.
* - ThrottleException - Number of times of a request has been throttled by the service.
* - DynamoDBConsumedCapacity - Number of Amazon DynamoDB capacity units consumed.
* Captured on a per request type level, and is only available if the request
* has been specified with the necessary "ReturnConsumedCapacity" parameter.
*
*
* AWS Service Metrics
*
* - HttpClientGetConnectionTime - Total number of milliseconds taken for the
* underlying http client library to get a connection.
*
- S3DownloadThroughput - Number of bytes downloaded from S3 per second.
* - S3DownloadByteCount - Number of bytes downloaded from S3.
* - S3UploadThroughput - Number of bytes uploaded to S3 per second.
* - S3UploadByteCount - Number of bytes uploaded to S3.
*
* Machine Metrics
* Memory
*
* - TotalMemory - Total amount of memory currently available to the JVM for
* current and future objects, measured in bytes. This value may vary over
* time, depending on the host environment.
* - FreeMemory - An approximation to the total amount of memory currently
* available to the JVM for future allocated objects, measured in bytes.
* - UsedMemory - TotalMemory minus FreeMemory.
* - SpareMemory - The maximum amount of memory that the JVM will attempt to
* use, measured in bytes, minus UsedMemory.
*
* Threads
*
* - ThreadCount - The current number of live threads including both daemon
* and non-daemon threads.
* - DeadLockThreadCount - The number of threads that are deadlocked waiting
* for object monitors or ownable synchronizers, if any. Threads are deadlocked
* in a cycle waiting for a lock of these two types if each thread owns one
* lock while trying to acquire another lock already held by another thread in
* the cycle. No metrics is generated when the value is zero.
* - DaemonThreadCount - The current number of live daemon threads. No metrics
* is generated when the value is zero.
* - PeakThreadCount - The peak live thread count since the JVM started or
* since the peak was reset.
* - TotalStartedThreadCount - The total number of threads created and also
* started since the JVM started.
*
* File Descriptors
*
* - OpenFileDescriptorCount - Number of opened file descriptors of the
* operating system.
* - SpareFileDescriptorCount - Maximum number of file descriptors of the
* operating system minus OpenFileDescriptorCount.
*
*/
package com.amazonaws.metrics;