/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the compute-optimizer-2019-11-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ComputeOptimizer.Model
{
///
/// Describes a utilization metric of a resource, such as an Amazon EC2 instance.
///
///
///
/// Compare the utilization metric data of your resource against its projected utilization
/// metric data to determine the performance difference between your current resource
/// and the recommended option.
///
///
public partial class UtilizationMetric
{
private MetricName _name;
private MetricStatistic _statistic;
private double? _value;
///
/// Gets and sets the property Name.
///
/// The name of the utilization metric.
///
///
///
/// The following utilization metrics are available:
///
/// -
///
///
Cpu
- The percentage of allocated EC2 compute units that are currently
/// in use on the instance. This metric identifies the processing power required to run
/// an application on the instance.
///
///
///
/// Depending on the instance type, tools in your operating system can show a lower percentage
/// than CloudWatch when the instance is not allocated a full processor core.
///
///
///
/// Units: Percent
///
/// -
///
///
Memory
- The percentage of memory that is currently in use on the instance.
/// This metric identifies the amount of memory required to run an application on the
/// instance.
///
///
///
/// Units: Percent
///
///
///
/// The Memory
metric is returned only for resources that have the unified
/// CloudWatch agent installed on them. For more information, see Enabling
/// Memory Utilization with the CloudWatch Agent.
///
/// -
///
///
EBS_READ_OPS_PER_SECOND
- The completed read operations from all EBS
/// volumes attached to the instance in a specified period of time.
///
///
///
/// Unit: Count
///
/// -
///
///
EBS_WRITE_OPS_PER_SECOND
- The completed write operations to all EBS
/// volumes attached to the instance in a specified period of time.
///
///
///
/// Unit: Count
///
/// -
///
///
EBS_READ_BYTES_PER_SECOND
- The bytes read from all EBS volumes attached
/// to the instance in a specified period of time.
///
///
///
/// Unit: Bytes
///
/// -
///
///
EBS_WRITE_BYTES_PER_SECOND
- The bytes written to all EBS volumes attached
/// to the instance in a specified period of time.
///
///
///
/// Unit: Bytes
///
/// -
///
///
DISK_READ_OPS_PER_SECOND
- The completed read operations from all instance
/// store volumes available to the instance in a specified period of time.
///
///
///
/// If there are no instance store volumes, either the value is 0
or the
/// metric is not reported.
///
/// -
///
///
DISK_WRITE_OPS_PER_SECOND
- The completed write operations from all
/// instance store volumes available to the instance in a specified period of time.
///
///
///
/// If there are no instance store volumes, either the value is 0
or the
/// metric is not reported.
///
/// -
///
///
DISK_READ_BYTES_PER_SECOND
- The bytes read from all instance store
/// volumes available to the instance. This metric is used to determine the volume of
/// the data the application reads from the disk of the instance. This can be used to
/// determine the speed of the application.
///
///
///
/// If there are no instance store volumes, either the value is 0
or the
/// metric is not reported.
///
/// -
///
///
DISK_WRITE_BYTES_PER_SECOND
- The bytes written to all instance store
/// volumes available to the instance. This metric is used to determine the volume of
/// the data the application writes onto the disk of the instance. This can be used to
/// determine the speed of the application.
///
///
///
/// If there are no instance store volumes, either the value is 0
or the
/// metric is not reported.
///
/// -
///
///
NETWORK_IN_BYTES_PER_SECOND
- The number of bytes received by the instance
/// on all network interfaces. This metric identifies the volume of incoming network traffic
/// to a single instance.
///
/// -
///
///
NETWORK_OUT_BYTES_PER_SECOND
- The number of bytes sent out by the instance
/// on all network interfaces. This metric identifies the volume of outgoing network traffic
/// from a single instance.
///
/// -
///
///
NETWORK_PACKETS_IN_PER_SECOND
- The number of packets received by the
/// instance on all network interfaces. This metric identifies the volume of incoming
/// traffic in terms of the number of packets on a single instance.
///
/// -
///
///
NETWORK_PACKETS_OUT_PER_SECOND
- The number of packets sent out by the
/// instance on all network interfaces. This metric identifies the volume of outgoing
/// traffic in terms of the number of packets on a single instance.
///
///
///
public MetricName Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Statistic.
///
/// The statistic of the utilization metric.
///
///
///
/// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization
/// metrics using only the Maximum
statistic, which is the highest value
/// observed during the specified period.
///
///
///
/// The Compute Optimizer console displays graphs for some utilization metrics using the
/// Average
statistic, which is the value of Sum
/ SampleCount
/// during the specified period. For more information, see Viewing
/// resource recommendations in the Compute Optimizer User Guide. You can also
/// get averaged utilization metric data for your resources using Amazon CloudWatch. For
/// more information, see the Amazon
/// CloudWatch User Guide.
///
///
public MetricStatistic Statistic
{
get { return this._statistic; }
set { this._statistic = value; }
}
// Check to see if Statistic property is set
internal bool IsSetStatistic()
{
return this._statistic != null;
}
///
/// Gets and sets the property Value.
///
/// The value of the utilization metric.
///
///
public double Value
{
get { return this._value.GetValueOrDefault(); }
set { this._value = value; }
}
// Check to see if Value property is set
internal bool IsSetValue()
{
return this._value.HasValue;
}
}
}