Metrics for Object Storage
This guide provides details on the metrics and dimensions available for Object Storage through Akamai Cloud Pulse.
Metrics for Object Storage is currently in limited availability and may not be accessible from your account. To gain access, please open a support ticket and request to join the limited availability program for this feature.
Metrics
Akamai Cloud Pulse metrics provide quantitative measurements for the performance of your Akamai Cloud services over a given period of time. These measurements are categorized or filtered through dimensions. For Object Storage, all metrics are available through the bucket and endpoint dimensions, though there are several other dimensions that map to specific metrics. Review the Dimensions table for more details.
Content metrics
| Metric | API reference | Description | Unit | Reporting Frequency |
|---|---|---|---|---|
| Content stored | obj_bucket_size | The total combined size of all objects stored in a bucket | Bytes | 60 min |
| Number of objects | obj_bucket_num_objects | Total number of objects stored in a bucket | count | 60 min |
Content stored
The content stored (obj_bucket_size) metric is the total combined size (in bytes) of all objects that are in the given bucket. Each part of an incomplete multipart upload is also included in this total. If bucket versioning is enabled, this metric includes the size of each version of an object. For example, consider an object with 3 versions of varying sizes: 1KB, 2KB, and 1KB. This object (and all of its versions) contribute a combined 4 KB to the total.
For the total amount of data you can store across all buckets in a single endpoint, review the Default capacity per account, per endpoint quota in the Object Storage limits by endpoint type table.
Number of objects
The number of objects (obj_bucket_num_objects) metric is the total number of objects in the given bucket. Each part of an incomplete multipart upload is also included in this total. If bucket versioning is enabled, this metric includes each version of an object.
For the total number of objects you can store across all buckets in a single endpoint, review the Default number of objects per account, per endpoint quota in the Object Storage limits by endpoint type table.
Throughput metrics
| Metric | API reference | Description | Unit | Reporting Frequency |
|---|---|---|---|---|
| Bytes uploaded | obj_bytes_uploaded | Amount of data uploaded to the selected bucket or endpoint. | Bytes | 1 min |
| Bytes downloaded | obj_bytes_downloaded | Amount of data downloaded from the selected bucket or endpoint. | Bytes | 1 min |
| First byte latency | obj_ttfb_average | Per-request measure of the latency from the time a request is received until the first byte is sent to the requestor. | Milliseconds (ms) | 15 mins |
| Egress throughput | obj_egress_throughput | Average rate at which data is transferred out of a bucket or endpoint during the specified time period | Bytes per second (Bps) | 1 min |
| Ingress throughput | obj_ingress_throughput | Average rate at which data is transferred into a bucket or endpoint during the specified time period | Bytes per second (Bps) | 1 min |
Bytes uploaded and downloaded
The bytes uploaded (obj_bytes_uploaded) and bytes downloaded (obj_bytes_downloaded) metrics measure the bytes uploaded to or downloaded from a bucket. Only bytes from objects are included. From an HTTP perspective, these metrics capture the request body (uploads) and response body (downloads). They do not include any network overhead for any layers in the OSI model.
Egress and ingress throughput
The egress throughput per endpoint (obj_egress_throughput) and ingress throughput per endpoint (obj_ingress_throughput) metrics return the throughput (in bytes per second) of data uploaded or downloaded for a bucket in a given time period. This is similar to the bytes uploaded and downloaded metrics, though instead of describing the throughput as the number of bytes uploaded or downloaded, the egress and ingress metrics describe the throughput as the average bytes per second.
First byte latency
The first byte latency (obj_ttfb_average) metric is a per-request measure of the latency from the time a request is received until the first byte is sent to the requestor. This metric only includes successful GetObject requests and is an average of all responses over the period. This is intended to be used as an estimate of the backend latency for processing of successful get requests. By only including successful GetObject requests, this enables better consistency and avoids fluctuations driven by workload change. In this way, the metric has better correlates with the health of the backend.
Request metrics
| Metric | API reference | Description | Unit | Reporting Frequency |
|---|---|---|---|---|
| Total requests | obj_requests_num | Summary count of all requests, of all types, made to a bucket | count | 1 min |
| HEAD requests | obj_requests_head | Number of HEAD requests used to retrieve object metadata | count | 1 min |
| GET requests | obj_requests_get | Number of GET requests used to read or retrieve objects from buckets | count | 1 min |
| PUT requests | obj_requests_put | Number of PUT requests used to upload new objects, including PUT requests used for multi-part uploads | count | 1 min |
| DELETE requests | obj_requests_delete | Number of DELETE requests used to remove objects from buckets | count | 1 min |
| LIST requests | obj_requests_list | Number of LIST requests used to list objects within buckets. Each page request counts as an individual LIST call. | count | 1 min |
| Other requests | obj_requests_other | This group contains any request type other than GET, HEAD, PUT, LIST, DELETE and aligns with the all other operations group as defined as part of the per bucket rate limits. | count | 1 min |
Total requests
The total requests (obj_requests_num) metric is the total number of requests that were sent to the given bucket. All requests are counted, including those which have failed or were rate limited.
This metric has an additional label of request_type that enables differentiation between many types of requests (listed below). Each of these types is also accessible through its own metric, shown in the request metrics table above.
- GET, HEAD operations for objects
- PUT operations for objects, including multipart uploads
- LIST operations for objects
- DELETE operations for object
- All other operations, including bucket-level operations
Since these request types are identical to the ones described in per bucket rate limits, this metric can be used to compare the total number of requests of a specific type to the rate limit of that type (for the specified bucket).
Response metrics
| Metric | API reference | Description | Unit | Reporting Frequency |
|---|---|---|---|---|
| Total responses | obj_responses_num | Summary count of all responses, of all types | count | 1 min |
| 2xx successful responses | obj_responses_2xx | Count of 2xx successful responses during this period | count | 1 min |
| 4xx errors | obj_responses_4xx | Count of 4xx responses during this period. This includes 403 returned due to quota exceeded failures. There is a separate metric for Quota exceeded to isolate any failures due to quota limits. | count | 1 min |
| 5xx errors | obj_responses_5xx | Count of 5xx responses during this period. This includes 503 returned due to per bucket rate limits. There is a separate metric for Rate limited responses to isolate any failures due to per bucket rate limits. | count | 1 min |
| Rate limited responses | obj_responses_rate_limited | 503 responses resulting from request rates higher than the per bucket rate limits | count | 1 min |
| Quota exceeded responses | obj_responses_quota_exceeds | 403 failures because an account quota has been exceeded, typically due to content stored or number of objects on the current endpoint | count | 1 min |
Total responses
The total responses (obj_responses_num) metric returns the total number of responses to all the requests sent to that bucket.
The total requests count and the total responses count can differ for the following reasons:
- Requests and responses can be counted at different times, which may lead to a situation when response will be counted in the next metrics batch than the request.
- Responses 3xx and 1xx are not included.
This metric has an additional label of response_type that enables differentiation between different types of responses (listed below). Each of these types is also accessible through its own metric.
- 2xx success responses
- 4xx responses - includes all 4xx responses including those which are counted toward 403 “quota exceeded”
- 5xx responses - includes all 5xx responses including those which are counted toward 503 “slow down”
- Rate limited (503 “slow down”) - 503 responses resulting from request rates higher than the per bucket rate limits.
- Quota exceeded (403 “quota exceeded”) - failures because an account quota has been exceeded, typically due to content stored size or number of objects on the current endpoint.
Dimensions
| Dimension | API reference | Metrics with this dimension | Description |
|---|---|---|---|
| Bucket | bucket_name | All | The URL of the bucket, which includes the bucket name and S3 hostname |
| Endpoint | endpoint | All | The S3 hostname of the Object Storage endpoint |
| Request type | request_type | Total Requests | Type of request: HEAD, GET, PUT, DELETE, LIST, OTHER |
| Response type | response_type | Total Responses | Type of response: 2xx, rate_limited, quota_exceeded, 4xx, 5xx |
Expected differences between Cloud Pulse metrics and monthly billing invoice data
Cloud Pulse metrics are collected at different reporting intervals and are calculated differently than usage data captured for billing purposes. As a result of these fundamental differences, metrics reported in Cloud Pulse will not map directly to line items on your invoice related to Object Storage usage. This includes the invoice line items for the total storage used in Object Storage (GB) and the monthly network transfer overage (bytes). For more details on the calculation of billing amounts and network transfer usage costs, please refer to our Billing and Network transfer usage and costs doc.
Updated about 3 hours ago
