main.java.com.amazonaws.metrics.package-info Maven / Gradle / Ivy
/*
 * Copyright 2010-2015 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.< /li>
 * 
 - HttpClientSendRequestTime - Number of milliseconds taken for a physical request
 * to get sent to AWS. Captured on a per request type level.< /li>
 * 
 - HttpClientReceiveResponseTime - Number of milliseconds taken for a physical response
 * to get received from AWS. Captured on a per request type level.< /li>
 * 
 - 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. 
 
 * - 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;
    © 2015 - 2025 Weber Informatics LLC | Privacy Policy