AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Gets statistics for the specified metric.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

Percentile statistics are not available for metrics when any of the metric values are negative numbers.

Amazon CloudWatch retains metric data as follows:

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.


For .NET Core and PCL this operation is only available in asynchronous form. Please refer to GetMetricStatisticsAsync.

Namespace: Amazon.CloudWatch
Assembly: AWSSDK.CloudWatch.dll
Version: 3.x.y.z


public abstract GetMetricStatisticsResponse GetMetricStatistics(
         GetMetricStatisticsRequest request
Type: Amazon.CloudWatch.Model.GetMetricStatisticsRequest

Container for the necessary parameters to execute the GetMetricStatistics service method.

Return Value
The response from the GetMetricStatistics service method, as returned by CloudWatch.


InternalServiceException Request processing has failed due to some unknown error, exception, or failure.
InvalidParameterCombinationException Parameters were used together that cannot be used together.
InvalidParameterValueException The value of an input parameter is bad or out-of-range.
MissingRequiredParameterException An input parameter that is required is missing.


This example shows how to get statistics for a metric.

Get metric statistics example

var client = new AmazonCloudWatchClient();

var request = new GetMetricStatisticsRequest
  Dimensions = new List() { dimension },
  EndTime = DateTime.Today,
  MetricName = "CPUUtilization",
  Namespace = "AWS/EC2",
  // Get statistics by day.
  Period = (int)TimeSpan.FromDays(1).TotalSeconds,
  // Get statistics for the past month.
  StartTime = DateTime.Today.Subtract(TimeSpan.FromDays(30)),
  Statistics = new List() { "Minimum" },
  Unit = StandardUnit.Percent

var response = client.GetMetricStatistics(request);

if (response.Datapoints.Count > 0)
  foreach (var point in response.Datapoints)
    Console.WriteLine(point.Timestamp.ToShortDateString() +
      " " + point.Minimum + "%");

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

See Also