import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { RdsClusterMetricFactoryProps } from "./RdsClusterMetricFactory"; import { BaseMonitoringProps, ConnectionAlarmFactory, HighConnectionCountThreshold, LatencyAlarmFactory, LatencyThreshold, LatencyType, LowConnectionCountThreshold, MaxUsageCountThreshold, MetricWithAlarmSupport, Monitoring, MonitoringScope, UsageAlarmFactory, UsageThreshold } from "../../common"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface RdsClusterMonitoringOptions extends BaseMonitoringProps { readonly addDiskSpaceUsageAlarm?: Record; readonly addCpuUsageAlarm?: Record; readonly addMinConnectionCountAlarm?: Record; readonly addMaxConnectionCountAlarm?: Record; readonly addReadIOPSAlarm?: Record; readonly addWriteIOPSAlarm?: Record; readonly addSelectLatencyP50Alarm?: Record; readonly addSelectLatencyP70Alarm?: Record; readonly addSelectLatencyP90Alarm?: Record; readonly addSelectLatencyP95Alarm?: Record; readonly addSelectLatencyP99Alarm?: Record; readonly addSelectLatencyP999Alarm?: Record; readonly addSelectLatencyP9999Alarm?: Record; readonly addSelectLatencyP100Alarm?: Record; readonly addSelectLatencyAverageAlarm?: Record; readonly addInsertLatencyP50Alarm?: Record; readonly addInsertLatencyP70Alarm?: Record; readonly addInsertLatencyP90Alarm?: Record; readonly addInsertLatencyP95Alarm?: Record; readonly addInsertLatencyP99Alarm?: Record; readonly addInsertLatencyP999Alarm?: Record; readonly addInsertLatencyP9999Alarm?: Record; readonly addInsertLatencyP100Alarm?: Record; readonly addInsertLatencyAverageAlarm?: Record; readonly addUpdateLatencyP50Alarm?: Record; readonly addUpdateLatencyP70Alarm?: Record; readonly addUpdateLatencyP90Alarm?: Record; readonly addUpdateLatencyP95Alarm?: Record; readonly addUpdateLatencyP99Alarm?: Record; readonly addUpdateLatencyP999Alarm?: Record; readonly addUpdateLatencyP9999Alarm?: Record; readonly addUpdateLatencyP100Alarm?: Record; readonly addUpdateLatencyAverageAlarm?: Record; readonly addDeleteLatencyP50Alarm?: Record; readonly addDeleteLatencyP70Alarm?: Record; readonly addDeleteLatencyP90Alarm?: Record; readonly addDeleteLatencyP95Alarm?: Record; readonly addDeleteLatencyP99Alarm?: Record; readonly addDeleteLatencyP999Alarm?: Record; readonly addDeleteLatencyP9999Alarm?: Record; readonly addDeleteLatencyP100Alarm?: Record; readonly addDeleteLatencyAverageAlarm?: Record; readonly addCommitLatencyP50Alarm?: Record; readonly addCommitLatencyP70Alarm?: Record; readonly addCommitLatencyP90Alarm?: Record; readonly addCommitLatencyP95Alarm?: Record; readonly addCommitLatencyP99Alarm?: Record; readonly addCommitLatencyP999Alarm?: Record; readonly addCommitLatencyP9999Alarm?: Record; readonly addCommitLatencyP100Alarm?: Record; readonly addCommitLatencyAverageAlarm?: Record; /** * You can specify what latency types you want to be rendered in the dashboards. * Note: any latency type with an alarm will be also added automatically. * If the list is undefined, default values will be shown. * If the list is empty, only the latency types with an alarm will be shown (if any). * @default - p90 for all operation types */ readonly latencyTypesToRender?: LatencyType[]; } export interface RdsClusterMonitoringProps extends RdsClusterMetricFactoryProps, RdsClusterMonitoringOptions { } export declare class RdsClusterMonitoring extends Monitoring { readonly title: string; readonly url?: string; readonly usageAlarmFactory: UsageAlarmFactory; readonly connectionAlarmFactory: ConnectionAlarmFactory; readonly latencyAlarmFactory: LatencyAlarmFactory; readonly usageAnnotations: HorizontalAnnotation[]; readonly connectionAnnotations: HorizontalAnnotation[]; readonly readLatencyAnnotations: HorizontalAnnotation[]; readonly writeLatencyAnnotations: HorizontalAnnotation[]; readonly iopsAnnotations: HorizontalAnnotation[]; readonly connectionsMetric: MetricWithAlarmSupport; readonly diskSpaceUsageMetric: MetricWithAlarmSupport; readonly cpuUsageMetric: MetricWithAlarmSupport; readonly readIopsMetric: MetricWithAlarmSupport; readonly writeIopsMetric: MetricWithAlarmSupport; readonly selectLatencyMetrics: Record; readonly insertLatencyMetrics: Record; readonly updateLatencyMetrics: Record; readonly deleteLatencyMetrics: Record; readonly commitLatencyMetrics: Record; readonly latencyTypesToRender: string[]; constructor(scope: MonitoringScope, props: RdsClusterMonitoringProps); summaryWidgets(): IWidget[]; widgets(): IWidget[]; createTitleWidget(): MonitoringHeaderWidget; createCpuAndDiskUsageWidget(width: number, height: number): GraphWidget; createConnectionsWidget(width: number, height: number): GraphWidget; createLatencyWidget(width: number, height: number): GraphWidget; createIOPSWidget(width: number, height: number): GraphWidget; }