/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DevOpsGuru { namespace Model { /** *

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.

See Also:

AWS * API Reference

*/ class PerformanceInsightsMetricsDetail { public: AWS_DEVOPSGURU_API PerformanceInsightsMetricsDetail(); AWS_DEVOPSGURU_API PerformanceInsightsMetricsDetail(Aws::Utils::Json::JsonView jsonValue); AWS_DEVOPSGURU_API PerformanceInsightsMetricsDetail& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DEVOPSGURU_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name used for a specific Performance Insights metric.

*/ inline const Aws::String& GetMetricDisplayName() const{ return m_metricDisplayName; } /** *

The name used for a specific Performance Insights metric.

*/ inline bool MetricDisplayNameHasBeenSet() const { return m_metricDisplayNameHasBeenSet; } /** *

The name used for a specific Performance Insights metric.

*/ inline void SetMetricDisplayName(const Aws::String& value) { m_metricDisplayNameHasBeenSet = true; m_metricDisplayName = value; } /** *

The name used for a specific Performance Insights metric.

*/ inline void SetMetricDisplayName(Aws::String&& value) { m_metricDisplayNameHasBeenSet = true; m_metricDisplayName = std::move(value); } /** *

The name used for a specific Performance Insights metric.

*/ inline void SetMetricDisplayName(const char* value) { m_metricDisplayNameHasBeenSet = true; m_metricDisplayName.assign(value); } /** *

The name used for a specific Performance Insights metric.

*/ inline PerformanceInsightsMetricsDetail& WithMetricDisplayName(const Aws::String& value) { SetMetricDisplayName(value); return *this;} /** *

The name used for a specific Performance Insights metric.

*/ inline PerformanceInsightsMetricsDetail& WithMetricDisplayName(Aws::String&& value) { SetMetricDisplayName(std::move(value)); return *this;} /** *

The name used for a specific Performance Insights metric.

*/ inline PerformanceInsightsMetricsDetail& WithMetricDisplayName(const char* value) { SetMetricDisplayName(value); return *this;} /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline const Aws::String& GetUnit() const{ return m_unit; } /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline PerformanceInsightsMetricsDetail& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline PerformanceInsightsMetricsDetail& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} /** *

The unit of measure for a metric. For example, a session or a process.

*/ inline PerformanceInsightsMetricsDetail& WithUnit(const char* value) { SetUnit(value); return *this;} /** *

A single query to be processed for the metric. For more information, see * PerformanceInsightsMetricQuery * .

*/ inline const PerformanceInsightsMetricQuery& GetMetricQuery() const{ return m_metricQuery; } /** *

A single query to be processed for the metric. For more information, see * PerformanceInsightsMetricQuery * .

*/ inline bool MetricQueryHasBeenSet() const { return m_metricQueryHasBeenSet; } /** *

A single query to be processed for the metric. For more information, see * PerformanceInsightsMetricQuery * .

*/ inline void SetMetricQuery(const PerformanceInsightsMetricQuery& value) { m_metricQueryHasBeenSet = true; m_metricQuery = value; } /** *

A single query to be processed for the metric. For more information, see * PerformanceInsightsMetricQuery * .

*/ inline void SetMetricQuery(PerformanceInsightsMetricQuery&& value) { m_metricQueryHasBeenSet = true; m_metricQuery = std::move(value); } /** *

A single query to be processed for the metric. For more information, see * PerformanceInsightsMetricQuery * .

*/ inline PerformanceInsightsMetricsDetail& WithMetricQuery(const PerformanceInsightsMetricQuery& value) { SetMetricQuery(value); return *this;} /** *

A single query to be processed for the metric. For more information, see * PerformanceInsightsMetricQuery * .

*/ inline PerformanceInsightsMetricsDetail& WithMetricQuery(PerformanceInsightsMetricQuery&& value) { SetMetricQuery(std::move(value)); return *this;} /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline const Aws::Vector& GetReferenceData() const{ return m_referenceData; } /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline bool ReferenceDataHasBeenSet() const { return m_referenceDataHasBeenSet; } /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline void SetReferenceData(const Aws::Vector& value) { m_referenceDataHasBeenSet = true; m_referenceData = value; } /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline void SetReferenceData(Aws::Vector&& value) { m_referenceDataHasBeenSet = true; m_referenceData = std::move(value); } /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline PerformanceInsightsMetricsDetail& WithReferenceData(const Aws::Vector& value) { SetReferenceData(value); return *this;} /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline PerformanceInsightsMetricsDetail& WithReferenceData(Aws::Vector&& value) { SetReferenceData(std::move(value)); return *this;} /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline PerformanceInsightsMetricsDetail& AddReferenceData(const PerformanceInsightsReferenceData& value) { m_referenceDataHasBeenSet = true; m_referenceData.push_back(value); return *this; } /** *

For more information, see PerformanceInsightsReferenceData * .

*/ inline PerformanceInsightsMetricsDetail& AddReferenceData(PerformanceInsightsReferenceData&& value) { m_referenceDataHasBeenSet = true; m_referenceData.push_back(std::move(value)); return *this; } /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline const Aws::Vector& GetStatsAtAnomaly() const{ return m_statsAtAnomaly; } /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline bool StatsAtAnomalyHasBeenSet() const { return m_statsAtAnomalyHasBeenSet; } /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline void SetStatsAtAnomaly(const Aws::Vector& value) { m_statsAtAnomalyHasBeenSet = true; m_statsAtAnomaly = value; } /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline void SetStatsAtAnomaly(Aws::Vector&& value) { m_statsAtAnomalyHasBeenSet = true; m_statsAtAnomaly = std::move(value); } /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline PerformanceInsightsMetricsDetail& WithStatsAtAnomaly(const Aws::Vector& value) { SetStatsAtAnomaly(value); return *this;} /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline PerformanceInsightsMetricsDetail& WithStatsAtAnomaly(Aws::Vector&& value) { SetStatsAtAnomaly(std::move(value)); return *this;} /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline PerformanceInsightsMetricsDetail& AddStatsAtAnomaly(const PerformanceInsightsStat& value) { m_statsAtAnomalyHasBeenSet = true; m_statsAtAnomaly.push_back(value); return *this; } /** *

The metric statistics during the anomalous period detected by DevOps * Guru;

*/ inline PerformanceInsightsMetricsDetail& AddStatsAtAnomaly(PerformanceInsightsStat&& value) { m_statsAtAnomalyHasBeenSet = true; m_statsAtAnomaly.push_back(std::move(value)); 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.

*/ inline const Aws::Vector& GetStatsAtBaseline() const{ return m_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.

*/ inline bool StatsAtBaselineHasBeenSet() const { return m_statsAtBaselineHasBeenSet; } /** *

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.

*/ inline void SetStatsAtBaseline(const Aws::Vector& value) { m_statsAtBaselineHasBeenSet = true; m_statsAtBaseline = value; } /** *

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.

*/ inline void SetStatsAtBaseline(Aws::Vector&& value) { m_statsAtBaselineHasBeenSet = true; m_statsAtBaseline = std::move(value); } /** *

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.

*/ inline PerformanceInsightsMetricsDetail& WithStatsAtBaseline(const Aws::Vector& value) { SetStatsAtBaseline(value); 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.

*/ inline PerformanceInsightsMetricsDetail& WithStatsAtBaseline(Aws::Vector&& value) { SetStatsAtBaseline(std::move(value)); 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.

*/ inline PerformanceInsightsMetricsDetail& AddStatsAtBaseline(const PerformanceInsightsStat& value) { m_statsAtBaselineHasBeenSet = true; m_statsAtBaseline.push_back(value); 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.

*/ inline PerformanceInsightsMetricsDetail& AddStatsAtBaseline(PerformanceInsightsStat&& value) { m_statsAtBaselineHasBeenSet = true; m_statsAtBaseline.push_back(std::move(value)); return *this; } private: Aws::String m_metricDisplayName; bool m_metricDisplayNameHasBeenSet = false; Aws::String m_unit; bool m_unitHasBeenSet = false; PerformanceInsightsMetricQuery m_metricQuery; bool m_metricQueryHasBeenSet = false; Aws::Vector m_referenceData; bool m_referenceDataHasBeenSet = false; Aws::Vector m_statsAtAnomaly; bool m_statsAtAnomalyHasBeenSet = false; Aws::Vector m_statsAtBaseline; bool m_statsAtBaselineHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws