-
-
-
Enum Summary
Enum |
Description |
AwsSdkMetrics |
Used to control the default AWS SDK metric collection system.
|
Package com.ibm.cloud.objectstorage.metrics Description
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.