/* * Copyright 2018-2023 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; /** *

* A single query to be processed. Use these parameters to query the Performance Insights * GetResourceMetrics API to retrieve the metrics for an anomaly. For more information, see * GetResourceMetrics * in the Amazon RDS Performance Insights API Reference. *

*

* 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. *

* * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PerformanceInsightsMetricQuery implements Serializable, Cloneable, StructuredPojo { /** *

* The name of the meteric used used when querying an Performance Insights GetResourceMetrics API for * anomaly metrics. *

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active sessions * is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and * db.sampledload.avg less than db.load.avg. For most use cases, you can query * db.load.avg only. *

*/ private String metric; /** *

* The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions within * that group, unless you provide the names of specific dimensions within that group. You can also request that * Performance Insights return a limited number of values for a dimension. *

*/ private PerformanceInsightsMetricDimensionGroup groupBy; /** *

* One or more filters to apply to a Performance Insights GetResourceMetrics API query. Restrictions: *

* */ private java.util.Map filter; /** *

* The name of the meteric used used when querying an Performance Insights GetResourceMetrics API for * anomaly metrics. *

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active sessions * is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and * db.sampledload.avg less than db.load.avg. For most use cases, you can query * db.load.avg only. *

* * @param metric * The name of the meteric used used when querying an Performance Insights GetResourceMetrics * API for anomaly metrics.

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active * sessions is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw * values, and db.sampledload.avg less than db.load.avg. For most use cases, you * can query db.load.avg only. */ public void setMetric(String metric) { this.metric = metric; } /** *

* The name of the meteric used used when querying an Performance Insights GetResourceMetrics API for * anomaly metrics. *

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active sessions * is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and * db.sampledload.avg less than db.load.avg. For most use cases, you can query * db.load.avg only. *

* * @return The name of the meteric used used when querying an Performance Insights GetResourceMetrics * API for anomaly metrics.

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active * sessions is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw * values, and db.sampledload.avg less than db.load.avg. For most use cases, you * can query db.load.avg only. */ public String getMetric() { return this.metric; } /** *

* The name of the meteric used used when querying an Performance Insights GetResourceMetrics API for * anomaly metrics. *

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active sessions * is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and * db.sampledload.avg less than db.load.avg. For most use cases, you can query * db.load.avg only. *

* * @param metric * The name of the meteric used used when querying an Performance Insights GetResourceMetrics * API for anomaly metrics.

*

* Valid values for Metric are: *

* *

* If the number of active sessions is less than an internal Performance Insights threshold, * db.load.avg and db.sampledload.avg are the same value. If the number of active * sessions is greater than the internal threshold, Performance Insights samples the active sessions, with * db.load.avg showing the scaled values, db.sampledload.avg showing the raw * values, and db.sampledload.avg less than db.load.avg. For most use cases, you * can query db.load.avg only. * @return Returns a reference to this object so that method calls can be chained together. */ public PerformanceInsightsMetricQuery withMetric(String metric) { setMetric(metric); return this; } /** *

* The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions within * that group, unless you provide the names of specific dimensions within that group. You can also request that * Performance Insights return a limited number of values for a dimension. *

* * @param groupBy * The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions * within that group, unless you provide the names of specific dimensions within that group. You can also * request that Performance Insights return a limited number of values for a dimension. */ public void setGroupBy(PerformanceInsightsMetricDimensionGroup groupBy) { this.groupBy = groupBy; } /** *

* The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions within * that group, unless you provide the names of specific dimensions within that group. You can also request that * Performance Insights return a limited number of values for a dimension. *

* * @return The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions * within that group, unless you provide the names of specific dimensions within that group. You can also * request that Performance Insights return a limited number of values for a dimension. */ public PerformanceInsightsMetricDimensionGroup getGroupBy() { return this.groupBy; } /** *

* The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions within * that group, unless you provide the names of specific dimensions within that group. You can also request that * Performance Insights return a limited number of values for a dimension. *

* * @param groupBy * The specification for how to aggregate the data points from a Performance Insights * GetResourceMetrics API query. The Performance Insights query returns all of the dimensions * within that group, unless you provide the names of specific dimensions within that group. You can also * request that Performance Insights return a limited number of values for a dimension. * @return Returns a reference to this object so that method calls can be chained together. */ public PerformanceInsightsMetricQuery withGroupBy(PerformanceInsightsMetricDimensionGroup groupBy) { setGroupBy(groupBy); return this; } /** *

* One or more filters to apply to a Performance Insights GetResourceMetrics API query. Restrictions: *

* * * @return One or more filters to apply to a Performance Insights GetResourceMetrics API query. * Restrictions:

*