Class InstanceRecommendation
- java.lang.Object
-
- software.amazon.awssdk.services.computeoptimizer.model.InstanceRecommendation
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>
@Generated("software.amazon.awssdk:codegen") public final class InstanceRecommendation extends Object implements SdkPojo, Serializable, ToCopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>
Describes an Amazon EC2 instance recommendation.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceInstanceRecommendation.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringaccountId()The Amazon Web Services account ID of the instance.static InstanceRecommendation.Builderbuilder()GpuInfocurrentInstanceGpuInfo()Describes the GPU accelerator settings for the current instance type.StringcurrentInstanceType()The instance type of the current instance.CurrentPerformanceRiskcurrentPerformanceRisk()The risk of the current instance not meeting the performance needs of its workloads.StringcurrentPerformanceRiskAsString()The risk of the current instance not meeting the performance needs of its workloads.EffectiveRecommendationPreferenceseffectiveRecommendationPreferences()An object that describes the effective recommendation preferences for the instance.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)ExternalMetricStatusexternalMetricStatus()An object that describes Compute Optimizer's integration status with your external metrics provider.Findingfinding()The finding classification of the instance.StringfindingAsString()The finding classification of the instance.List<InstanceRecommendationFindingReasonCode>findingReasonCodes()The reason for the finding classification of the instance.List<String>findingReasonCodesAsStrings()The reason for the finding classification of the instance.<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)booleanhasFindingReasonCodes()For responses, this returns true if the service returned a value for the FindingReasonCodes property.inthashCode()booleanhasInferredWorkloadTypes()For responses, this returns true if the service returned a value for the InferredWorkloadTypes property.booleanhasRecommendationOptions()For responses, this returns true if the service returned a value for the RecommendationOptions property.booleanhasRecommendationSources()For responses, this returns true if the service returned a value for the RecommendationSources property.booleanhasTags()For responses, this returns true if the service returned a value for the Tags property.booleanhasUtilizationMetrics()For responses, this returns true if the service returned a value for the UtilizationMetrics property.InstanceIdleidle()Describes if an Amazon EC2 instance is idle.StringidleAsString()Describes if an Amazon EC2 instance is idle.List<InferredWorkloadType>inferredWorkloadTypes()The applications that might be running on the instance as inferred by Compute Optimizer.List<String>inferredWorkloadTypesAsStrings()The applications that might be running on the instance as inferred by Compute Optimizer.StringinstanceArn()The Amazon Resource Name (ARN) of the current instance.StringinstanceName()The name of the current instance.InstanceStateinstanceState()The state of the instance when the recommendation was generated.StringinstanceStateAsString()The state of the instance when the recommendation was generated.InstantlastRefreshTimestamp()The timestamp of when the instance recommendation was last generated.DoublelookBackPeriodInDays()The number of days for which utilization metrics were analyzed for the instance.List<InstanceRecommendationOption>recommendationOptions()An array of objects that describe the recommendation options for the instance.List<RecommendationSource>recommendationSources()An array of objects that describe the source resource of the recommendation.List<SdkField<?>>sdkFields()static Class<? extends InstanceRecommendation.Builder>serializableBuilderClass()List<Tag>tags()A list of tags assigned to your Amazon EC2 instance recommendations.InstanceRecommendation.BuildertoBuilder()StringtoString()Returns a string representation of this object.List<UtilizationMetric>utilizationMetrics()An array of objects that describe the utilization metrics of the instance.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
instanceArn
public final String instanceArn()
The Amazon Resource Name (ARN) of the current instance.
- Returns:
- The Amazon Resource Name (ARN) of the current instance.
-
accountId
public final String accountId()
The Amazon Web Services account ID of the instance.
- Returns:
- The Amazon Web Services account ID of the instance.
-
instanceName
public final String instanceName()
The name of the current instance.
- Returns:
- The name of the current instance.
-
currentInstanceType
public final String currentInstanceType()
The instance type of the current instance.
- Returns:
- The instance type of the current instance.
-
finding
public final Finding finding()
The finding classification of the instance.
Findings for instances include:
-
Underprovisioned—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance type.
If the service returns an enum value that is not available in the current SDK version,
findingwill returnFinding.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromfindingAsString().- Returns:
- The finding classification of the instance.
Findings for instances include:
-
Underprovisioned—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance type.
-
- See Also:
Finding
-
-
findingAsString
public final String findingAsString()
The finding classification of the instance.
Findings for instances include:
-
Underprovisioned—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance type.
If the service returns an enum value that is not available in the current SDK version,
findingwill returnFinding.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromfindingAsString().- Returns:
- The finding classification of the instance.
Findings for instances include:
-
Underprovisioned—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance type.
-
- See Also:
Finding
-
-
findingReasonCodes
public final List<InstanceRecommendationFindingReasonCode> findingReasonCodes()
The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
CPUUnderprovisioned— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
MemoryOverprovisioned— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percentmetric in theCWAgentnamespace, or the legacyMemoryUtilizationmetric in theSystem/Linuxnamespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Usemetric in theCWAgentnamespace. -
EBSThroughputOverprovisioned— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. This finding reason happens when theNetworkInorNetworkOutperformance of an instance is impacted. -
NetworkPPSOverprovisioned— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasFindingReasonCodes()method.- Returns:
- The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
CPUUnderprovisioned— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
MemoryOverprovisioned— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percentmetric in theCWAgentnamespace, or the legacyMemoryUtilizationmetric in theSystem/Linuxnamespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Usemetric in theCWAgentnamespace. -
EBSThroughputOverprovisioned— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. This finding reason happens when theNetworkInorNetworkOutperformance of an instance is impacted. -
NetworkPPSOverprovisioned— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
-
-
-
hasFindingReasonCodes
public final boolean hasFindingReasonCodes()
For responses, this returns true if the service returned a value for the FindingReasonCodes property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
findingReasonCodesAsStrings
public final List<String> findingReasonCodesAsStrings()
The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
CPUUnderprovisioned— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
MemoryOverprovisioned— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percentmetric in theCWAgentnamespace, or the legacyMemoryUtilizationmetric in theSystem/Linuxnamespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Usemetric in theCWAgentnamespace. -
EBSThroughputOverprovisioned— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. This finding reason happens when theNetworkInorNetworkOutperformance of an instance is impacted. -
NetworkPPSOverprovisioned— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasFindingReasonCodes()method.- Returns:
- The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
CPUUnderprovisioned— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
MemoryOverprovisioned— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percentmetric in theCWAgentnamespace, or the legacyMemoryUtilizationmetric in theSystem/Linuxnamespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Usemetric in theCWAgentnamespace. -
EBSThroughputOverprovisioned— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. This finding reason happens when theNetworkInorNetworkOutperformance of an instance is impacted. -
NetworkPPSOverprovisioned— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
-
-
-
hasUtilizationMetrics
public final boolean hasUtilizationMetrics()
For responses, this returns true if the service returned a value for the UtilizationMetrics property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
utilizationMetrics
public final List<UtilizationMetric> utilizationMetrics()
An array of objects that describe the utilization metrics of the instance.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasUtilizationMetrics()method.- Returns:
- An array of objects that describe the utilization metrics of the instance.
-
lookBackPeriodInDays
public final Double lookBackPeriodInDays()
The number of days for which utilization metrics were analyzed for the instance.
- Returns:
- The number of days for which utilization metrics were analyzed for the instance.
-
hasRecommendationOptions
public final boolean hasRecommendationOptions()
For responses, this returns true if the service returned a value for the RecommendationOptions property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
recommendationOptions
public final List<InstanceRecommendationOption> recommendationOptions()
An array of objects that describe the recommendation options for the instance.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasRecommendationOptions()method.- Returns:
- An array of objects that describe the recommendation options for the instance.
-
hasRecommendationSources
public final boolean hasRecommendationSources()
For responses, this returns true if the service returned a value for the RecommendationSources property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
recommendationSources
public final List<RecommendationSource> recommendationSources()
An array of objects that describe the source resource of the recommendation.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasRecommendationSources()method.- Returns:
- An array of objects that describe the source resource of the recommendation.
-
lastRefreshTimestamp
public final Instant lastRefreshTimestamp()
The timestamp of when the instance recommendation was last generated.
- Returns:
- The timestamp of when the instance recommendation was last generated.
-
currentPerformanceRisk
public final CurrentPerformanceRisk currentPerformanceRisk()
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
If the service returns an enum value that is not available in the current SDK version,
currentPerformanceRiskwill returnCurrentPerformanceRisk.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromcurrentPerformanceRiskAsString().- Returns:
- The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
- See Also:
CurrentPerformanceRisk
-
currentPerformanceRiskAsString
public final String currentPerformanceRiskAsString()
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
If the service returns an enum value that is not available in the current SDK version,
currentPerformanceRiskwill returnCurrentPerformanceRisk.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromcurrentPerformanceRiskAsString().- Returns:
- The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
- See Also:
CurrentPerformanceRisk
-
effectiveRecommendationPreferences
public final EffectiveRecommendationPreferences effectiveRecommendationPreferences()
An object that describes the effective recommendation preferences for the instance.
- Returns:
- An object that describes the effective recommendation preferences for the instance.
-
inferredWorkloadTypes
public final List<InferredWorkloadType> inferredWorkloadTypes()
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop- Infers that Apache Hadoop might be running on the instance. -
Memcached- Infers that Memcached might be running on the instance. -
NGINX- Infers that NGINX might be running on the instance. -
PostgreSql- Infers that PostgreSQL might be running on the instance. -
Redis- Infers that Redis might be running on the instance. -
Kafka- Infers that Kafka might be running on the instance. -
SQLServer- Infers that SQLServer might be running on the instance.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasInferredWorkloadTypes()method.- Returns:
- The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop- Infers that Apache Hadoop might be running on the instance. -
Memcached- Infers that Memcached might be running on the instance. -
NGINX- Infers that NGINX might be running on the instance. -
PostgreSql- Infers that PostgreSQL might be running on the instance. -
Redis- Infers that Redis might be running on the instance. -
Kafka- Infers that Kafka might be running on the instance. -
SQLServer- Infers that SQLServer might be running on the instance.
-
-
-
hasInferredWorkloadTypes
public final boolean hasInferredWorkloadTypes()
For responses, this returns true if the service returned a value for the InferredWorkloadTypes property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
inferredWorkloadTypesAsStrings
public final List<String> inferredWorkloadTypesAsStrings()
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop- Infers that Apache Hadoop might be running on the instance. -
Memcached- Infers that Memcached might be running on the instance. -
NGINX- Infers that NGINX might be running on the instance. -
PostgreSql- Infers that PostgreSQL might be running on the instance. -
Redis- Infers that Redis might be running on the instance. -
Kafka- Infers that Kafka might be running on the instance. -
SQLServer- Infers that SQLServer might be running on the instance.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasInferredWorkloadTypes()method.- Returns:
- The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop- Infers that Apache Hadoop might be running on the instance. -
Memcached- Infers that Memcached might be running on the instance. -
NGINX- Infers that NGINX might be running on the instance. -
PostgreSql- Infers that PostgreSQL might be running on the instance. -
Redis- Infers that Redis might be running on the instance. -
Kafka- Infers that Kafka might be running on the instance. -
SQLServer- Infers that SQLServer might be running on the instance.
-
-
-
instanceState
public final InstanceState instanceState()
The state of the instance when the recommendation was generated.
If the service returns an enum value that is not available in the current SDK version,
instanceStatewill returnInstanceState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available frominstanceStateAsString().- Returns:
- The state of the instance when the recommendation was generated.
- See Also:
InstanceState
-
instanceStateAsString
public final String instanceStateAsString()
The state of the instance when the recommendation was generated.
If the service returns an enum value that is not available in the current SDK version,
instanceStatewill returnInstanceState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available frominstanceStateAsString().- Returns:
- The state of the instance when the recommendation was generated.
- See Also:
InstanceState
-
hasTags
public final boolean hasTags()
For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
tags
public final List<Tag> tags()
A list of tags assigned to your Amazon EC2 instance recommendations.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTags()method.- Returns:
- A list of tags assigned to your Amazon EC2 instance recommendations.
-
externalMetricStatus
public final ExternalMetricStatus externalMetricStatus()
An object that describes Compute Optimizer's integration status with your external metrics provider.
- Returns:
- An object that describes Compute Optimizer's integration status with your external metrics provider.
-
currentInstanceGpuInfo
public final GpuInfo currentInstanceGpuInfo()
Describes the GPU accelerator settings for the current instance type.
- Returns:
- Describes the GPU accelerator settings for the current instance type.
-
idle
public final InstanceIdle idle()
Describes if an Amazon EC2 instance is idle.
If the service returns an enum value that is not available in the current SDK version,
idlewill returnInstanceIdle.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromidleAsString().- Returns:
- Describes if an Amazon EC2 instance is idle.
- See Also:
InstanceIdle
-
idleAsString
public final String idleAsString()
Describes if an Amazon EC2 instance is idle.
If the service returns an enum value that is not available in the current SDK version,
idlewill returnInstanceIdle.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromidleAsString().- Returns:
- Describes if an Amazon EC2 instance is idle.
- See Also:
InstanceIdle
-
toBuilder
public InstanceRecommendation.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>
-
builder
public static InstanceRecommendation.Builder builder()
-
serializableBuilderClass
public static Class<? extends InstanceRecommendation.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-