com.amazonaws.services.devopsguru.model.PerformanceInsightsMetricsDetail Maven / Gradle / Ivy
Show all versions of aws-java-sdk-devopsguru Show documentation
/*
* Copyright 2019-2024 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.
*/
package com.amazonaws.services.devopsguru.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Details about Performance Insights metrics.
*
*
* Amazon RDS Performance Insights enables you to monitor and explore different dimensions of database load based on
* data captured from a running DB instance. DB load is measured as average active sessions. Performance Insights
* provides the data to API consumers as a two-dimensional time-series dataset. The time dimension provides DB load data
* for each time point in the queried time range. Each time point decomposes overall load in relation to the requested
* dimensions, measured at that time point. Examples include SQL, Wait event, User, and Host.
*
*
* -
*
* To learn more about Performance Insights and Amazon Aurora DB instances, go to the Amazon Aurora User
* Guide.
*
*
* -
*
* To learn more about Performance Insights and Amazon RDS DB instances, go to the Amazon RDS User Guide.
*
*
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class PerformanceInsightsMetricsDetail implements Serializable, Cloneable, StructuredPojo {
/**
*
* The name used for a specific Performance Insights metric.
*
*/
private String metricDisplayName;
/**
*
* The unit of measure for a metric. For example, a session or a process.
*
*/
private String unit;
/**
*
* A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
*
*/
private PerformanceInsightsMetricQuery metricQuery;
/**
*
* For more information, see
* PerformanceInsightsReferenceData
* .
*
*/
private java.util.List referenceData;
/**
*
* The metric statistics during the anomalous period detected by DevOps Guru;
*
*/
private java.util.List statsAtAnomaly;
/**
*
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it compares them
* to StatsAtBaseline
to help determine if they are anomalous.
*
*/
private java.util.List statsAtBaseline;
/**
*
* The name used for a specific Performance Insights metric.
*
*
* @param metricDisplayName
* The name used for a specific Performance Insights metric.
*/
public void setMetricDisplayName(String metricDisplayName) {
this.metricDisplayName = metricDisplayName;
}
/**
*
* The name used for a specific Performance Insights metric.
*
*
* @return The name used for a specific Performance Insights metric.
*/
public String getMetricDisplayName() {
return this.metricDisplayName;
}
/**
*
* The name used for a specific Performance Insights metric.
*
*
* @param metricDisplayName
* The name used for a specific Performance Insights metric.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withMetricDisplayName(String metricDisplayName) {
setMetricDisplayName(metricDisplayName);
return this;
}
/**
*
* The unit of measure for a metric. For example, a session or a process.
*
*
* @param unit
* The unit of measure for a metric. For example, a session or a process.
*/
public void setUnit(String unit) {
this.unit = unit;
}
/**
*
* The unit of measure for a metric. For example, a session or a process.
*
*
* @return The unit of measure for a metric. For example, a session or a process.
*/
public String getUnit() {
return this.unit;
}
/**
*
* The unit of measure for a metric. For example, a session or a process.
*
*
* @param unit
* The unit of measure for a metric. For example, a session or a process.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withUnit(String unit) {
setUnit(unit);
return this;
}
/**
*
* A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
*
*
* @param metricQuery
* A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
*/
public void setMetricQuery(PerformanceInsightsMetricQuery metricQuery) {
this.metricQuery = metricQuery;
}
/**
*
* A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
*
*
* @return A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
*/
public PerformanceInsightsMetricQuery getMetricQuery() {
return this.metricQuery;
}
/**
*
* A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
*
*
* @param metricQuery
* A single query to be processed for the metric. For more information, see
* PerformanceInsightsMetricQuery
* .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withMetricQuery(PerformanceInsightsMetricQuery metricQuery) {
setMetricQuery(metricQuery);
return this;
}
/**
*
* For more information, see
* PerformanceInsightsReferenceData
* .
*
*
* @return For more information, see
* PerformanceInsightsReferenceData
* .
*/
public java.util.List getReferenceData() {
return referenceData;
}
/**
*
* For more information, see
* PerformanceInsightsReferenceData
* .
*
*
* @param referenceData
* For more information, see
* PerformanceInsightsReferenceData
* .
*/
public void setReferenceData(java.util.Collection referenceData) {
if (referenceData == null) {
this.referenceData = null;
return;
}
this.referenceData = new java.util.ArrayList(referenceData);
}
/**
*
* For more information, see
* PerformanceInsightsReferenceData
* .
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setReferenceData(java.util.Collection)} or {@link #withReferenceData(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param referenceData
* For more information, see
* PerformanceInsightsReferenceData
* .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withReferenceData(PerformanceInsightsReferenceData... referenceData) {
if (this.referenceData == null) {
setReferenceData(new java.util.ArrayList(referenceData.length));
}
for (PerformanceInsightsReferenceData ele : referenceData) {
this.referenceData.add(ele);
}
return this;
}
/**
*
* For more information, see
* PerformanceInsightsReferenceData
* .
*
*
* @param referenceData
* For more information, see
* PerformanceInsightsReferenceData
* .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withReferenceData(java.util.Collection referenceData) {
setReferenceData(referenceData);
return this;
}
/**
*
* The metric statistics during the anomalous period detected by DevOps Guru;
*
*
* @return The metric statistics during the anomalous period detected by DevOps Guru;
*/
public java.util.List getStatsAtAnomaly() {
return statsAtAnomaly;
}
/**
*
* The metric statistics during the anomalous period detected by DevOps Guru;
*
*
* @param statsAtAnomaly
* The metric statistics during the anomalous period detected by DevOps Guru;
*/
public void setStatsAtAnomaly(java.util.Collection statsAtAnomaly) {
if (statsAtAnomaly == null) {
this.statsAtAnomaly = null;
return;
}
this.statsAtAnomaly = new java.util.ArrayList(statsAtAnomaly);
}
/**
*
* The metric statistics during the anomalous period detected by DevOps Guru;
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setStatsAtAnomaly(java.util.Collection)} or {@link #withStatsAtAnomaly(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param statsAtAnomaly
* The metric statistics during the anomalous period detected by DevOps Guru;
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withStatsAtAnomaly(PerformanceInsightsStat... statsAtAnomaly) {
if (this.statsAtAnomaly == null) {
setStatsAtAnomaly(new java.util.ArrayList(statsAtAnomaly.length));
}
for (PerformanceInsightsStat ele : statsAtAnomaly) {
this.statsAtAnomaly.add(ele);
}
return this;
}
/**
*
* The metric statistics during the anomalous period detected by DevOps Guru;
*
*
* @param statsAtAnomaly
* The metric statistics during the anomalous period detected by DevOps Guru;
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withStatsAtAnomaly(java.util.Collection statsAtAnomaly) {
setStatsAtAnomaly(statsAtAnomaly);
return this;
}
/**
*
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it compares them
* to StatsAtBaseline
to help determine if they are anomalous.
*
*
* @return Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it
* compares them to StatsAtBaseline
to help determine if they are anomalous.
*/
public java.util.List getStatsAtBaseline() {
return statsAtBaseline;
}
/**
*
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it compares them
* to StatsAtBaseline
to help determine if they are anomalous.
*
*
* @param statsAtBaseline
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it
* compares them to StatsAtBaseline
to help determine if they are anomalous.
*/
public void setStatsAtBaseline(java.util.Collection statsAtBaseline) {
if (statsAtBaseline == null) {
this.statsAtBaseline = null;
return;
}
this.statsAtBaseline = new java.util.ArrayList(statsAtBaseline);
}
/**
*
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it compares them
* to StatsAtBaseline
to help determine if they are anomalous.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setStatsAtBaseline(java.util.Collection)} or {@link #withStatsAtBaseline(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param statsAtBaseline
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it
* compares them to StatsAtBaseline
to help determine if they are anomalous.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withStatsAtBaseline(PerformanceInsightsStat... statsAtBaseline) {
if (this.statsAtBaseline == null) {
setStatsAtBaseline(new java.util.ArrayList(statsAtBaseline.length));
}
for (PerformanceInsightsStat ele : statsAtBaseline) {
this.statsAtBaseline.add(ele);
}
return this;
}
/**
*
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it compares them
* to StatsAtBaseline
to help determine if they are anomalous.
*
*
* @param statsAtBaseline
* Typical metric statistics that are not considered anomalous. When DevOps Guru analyzes metrics, it
* compares them to StatsAtBaseline
to help determine if they are anomalous.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PerformanceInsightsMetricsDetail withStatsAtBaseline(java.util.Collection statsAtBaseline) {
setStatsAtBaseline(statsAtBaseline);
return this;
}
/**
* 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.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getMetricDisplayName() != null)
sb.append("MetricDisplayName: ").append(getMetricDisplayName()).append(",");
if (getUnit() != null)
sb.append("Unit: ").append(getUnit()).append(",");
if (getMetricQuery() != null)
sb.append("MetricQuery: ").append(getMetricQuery()).append(",");
if (getReferenceData() != null)
sb.append("ReferenceData: ").append(getReferenceData()).append(",");
if (getStatsAtAnomaly() != null)
sb.append("StatsAtAnomaly: ").append(getStatsAtAnomaly()).append(",");
if (getStatsAtBaseline() != null)
sb.append("StatsAtBaseline: ").append(getStatsAtBaseline());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof PerformanceInsightsMetricsDetail == false)
return false;
PerformanceInsightsMetricsDetail other = (PerformanceInsightsMetricsDetail) obj;
if (other.getMetricDisplayName() == null ^ this.getMetricDisplayName() == null)
return false;
if (other.getMetricDisplayName() != null && other.getMetricDisplayName().equals(this.getMetricDisplayName()) == false)
return false;
if (other.getUnit() == null ^ this.getUnit() == null)
return false;
if (other.getUnit() != null && other.getUnit().equals(this.getUnit()) == false)
return false;
if (other.getMetricQuery() == null ^ this.getMetricQuery() == null)
return false;
if (other.getMetricQuery() != null && other.getMetricQuery().equals(this.getMetricQuery()) == false)
return false;
if (other.getReferenceData() == null ^ this.getReferenceData() == null)
return false;
if (other.getReferenceData() != null && other.getReferenceData().equals(this.getReferenceData()) == false)
return false;
if (other.getStatsAtAnomaly() == null ^ this.getStatsAtAnomaly() == null)
return false;
if (other.getStatsAtAnomaly() != null && other.getStatsAtAnomaly().equals(this.getStatsAtAnomaly()) == false)
return false;
if (other.getStatsAtBaseline() == null ^ this.getStatsAtBaseline() == null)
return false;
if (other.getStatsAtBaseline() != null && other.getStatsAtBaseline().equals(this.getStatsAtBaseline()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getMetricDisplayName() == null) ? 0 : getMetricDisplayName().hashCode());
hashCode = prime * hashCode + ((getUnit() == null) ? 0 : getUnit().hashCode());
hashCode = prime * hashCode + ((getMetricQuery() == null) ? 0 : getMetricQuery().hashCode());
hashCode = prime * hashCode + ((getReferenceData() == null) ? 0 : getReferenceData().hashCode());
hashCode = prime * hashCode + ((getStatsAtAnomaly() == null) ? 0 : getStatsAtAnomaly().hashCode());
hashCode = prime * hashCode + ((getStatsAtBaseline() == null) ? 0 : getStatsAtBaseline().hashCode());
return hashCode;
}
@Override
public PerformanceInsightsMetricsDetail clone() {
try {
return (PerformanceInsightsMetricsDetail) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.devopsguru.model.transform.PerformanceInsightsMetricsDetailMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}