About Storage Analytics Metrics
Storage Analytics can store metrics that include aggregated transaction statistics and capacity data about requests to a storage service. Transactions are reported at both the API operation level as well as at the storage service level, and capacity is reported at the storage service level. Metrics data can be used to analyze storage service usage, diagnose issues with requests made against the storage service, and to improve the performance of applications that use a service.
Metrics is enabled and disabled at the service level, not the storage account level. For example, to enable metrics for the Blob, Table, and Queue services, you must make a separate request to each service: one to the Blob service, one to the Table service, and one to the Queue service.
A robust set of data is recorded hourly for each storage service and requested API operation, including ingress/egress, availability, errors, and categorized request percentages. You can see a complete list of the transaction details in the Storage Analytics Metrics Table Schema topic.
Transaction data is recorded at two levels – the service level and the API operation level. At the service level, statistics summarizing all requested API operations are written to a table entity every hour even if no requests were made to the service. At the API operation level, statistics are only written to an entity if the operation was requested within that hour.
For example, if you perform a GetBlob operation on your Blob service, Storage Analytics Metrics will log the request and include it in the aggregated data for both the Blob service as well as the GetBlob operation. However, if no GetBlob operation is requested during the hour, an entity will not be written to the $MetricsTransactionsBlob for that operation.
Transaction metrics are recorded for both user requests and requests made by Storage Analytics itself. For example, requests by Storage Analytics to write logs and table entities are recorded. For more information on how these requests are billed, see Storage Analytics and Billing
|Currently, capacity metrics are only available for the Blob service. Capacity metrics for the Table service and Queue service will be available in future versions of Storage Analytics.|
Capacity data is recorded daily for a storage account’s Blob service, and two table entities are written. One entity provides statistics for user data, and the other provides statistics about the
$logs blob container used by Storage Analytics. The $MetricsCapacityBlob table includes the following statistics:
Capacity: The amount of storage used by the storage account’s Blob service, in bytes.
ContainerCount: The number of blob containers in the storage account’s Blob service.
ObjectCount: The number of committed and uncommitted block or page blobs in the storage account’s Blob service.
For more information about the capacity metrics, see Storage Analytics Metrics Table Schema.
How Metrics Are Stored
Transactions metrics are recorded for the Blob, Table, and Queue services, and they are stored in the following tables:
Capacity metrics are currently recorded only for the Blob service, and they are stored in the following table:
These tables are automatically created when Storage Analytics is enabled for a storage account. They are accessed via the namespace of the storage account, for example:
Accessing Metrics Data
All data in the metrics tables can be accessed by using the Table service APIs, including the .NET APIs provided by the Windows Azure managed library. The storage account administrator can read and delete table entities, but cannot create or update them.