import { GraphWidget, HorizontalAnnotation, IMetric, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { BillingMode, Operation } from "aws-cdk-lib/aws-dynamodb"; import { DynamoTableMetricFactoryProps } from "./DynamoTableMetricFactory"; import { AlarmFactory, BaseMonitoringProps, ConsumedCapacityThreshold, DynamoAlarmFactory, ErrorAlarmFactory, ErrorCountThreshold, LatencyAlarmFactory, LatencyThreshold, MetricWithAlarmSupport, MinUsageCountThreshold, Monitoring, MonitoringScope, ThrottledEventsThreshold, UsageAlarmFactory } from "../../common"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface DynamoTableMonitoringOptions extends BaseMonitoringProps { readonly addConsumedReadCapacityAlarm?: Record; readonly addConsumedWriteCapacityAlarm?: Record; readonly addReadThrottledEventsCountAlarm?: Record; readonly addWriteThrottledEventsCountAlarm?: Record; readonly addSystemErrorCountAlarm?: Record; readonly addMinTimeToLiveDeletedItemCountAlarm?: Record; readonly addAverageSuccessfulGetRecordsLatencyAlarm?: Record; readonly addAverageSuccessfulQueryLatencyAlarm?: Record; readonly addAverageSuccessfulScanLatencyAlarm?: Record; readonly addAverageSuccessfulPutItemLatencyAlarm?: Record; readonly addAverageSuccessfulGetItemLatencyAlarm?: Record; readonly addAverageSuccessfulUpdateItemLatencyAlarm?: Record; readonly addAverageSuccessfulDeleteItemLatencyAlarm?: Record; readonly addAverageSuccessfulBatchGetItemLatencyAlarm?: Record; readonly addAverageSuccessfulBatchWriteItemLatencyAlarm?: Record; } export interface DynamoTableMonitoringProps extends DynamoTableMetricFactoryProps, DynamoTableMonitoringOptions { } export declare class DynamoTableMonitoring extends Monitoring { readonly title: string; readonly tableUrl?: string; readonly tableBillingMode: BillingMode; readonly alarmFactory: AlarmFactory; readonly errorAlarmFactory: ErrorAlarmFactory; readonly latencyAlarmFactory: LatencyAlarmFactory; readonly dynamoCapacityAlarmFactory: DynamoAlarmFactory; readonly usageAlarmFactory: UsageAlarmFactory; readonly latencyAnnotations: HorizontalAnnotation[]; readonly errorCountAnnotations: HorizontalAnnotation[]; readonly dynamoReadCapacityAnnotations: HorizontalAnnotation[]; readonly dynamoWriteCapacityAnnotations: HorizontalAnnotation[]; readonly throttledEventsAnnotations: HorizontalAnnotation[]; readonly provisionedReadUnitsMetric: MetricWithAlarmSupport; readonly provisionedWriteUnitsMetric: MetricWithAlarmSupport; readonly consumedReadUnitsMetric: MetricWithAlarmSupport; readonly consumedWriteUnitsMetric: MetricWithAlarmSupport; readonly readThrottleCountMetric: MetricWithAlarmSupport; readonly writeThrottleCountMetric: MetricWithAlarmSupport; readonly systemErrorMetric: MetricWithAlarmSupport; readonly timeToLiveDeletedItemCountMetric: MetricWithAlarmSupport; readonly latencyAverageSearchMetrics: IMetric; readonly averagePerOperationLatencyMetrics: Record; readonly readCapacityUsageMetric: MetricWithAlarmSupport; readonly writeCapacityUsageMetric: MetricWithAlarmSupport; constructor(scope: MonitoringScope, props: DynamoTableMonitoringProps); protected forEachOperationLatencyAlarmDefinition(operation: Operation, alarm?: Record): void; summaryWidgets(): IWidget[]; widgets(): IWidget[]; createLatencyWidget(width: number, height: number): GraphWidget; createThrottlesWidget(width: number, height: number): GraphWidget; createErrorsWidget(width: number, height: number): GraphWidget; createReadCapacityWidget(width: number, height: number): GraphWidget; createWriteCapacityWidget(width: number, height: number): GraphWidget; createTitleWidget(): MonitoringHeaderWidget; private resolveTableName; private resolveTableBillingMode; }