UNPKG

cdk-monitoring-constructs

Version:

[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/cdklabs/cdk-monitoring-constructs) [![NPM version](https://badge.fury.io/js/cdk-monitoring-constructs.svg)](https://badge

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