import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { ApiGatewayMetricFactoryProps } from "./ApiGatewayMetricFactory"; import { AlarmFactory, BaseMonitoringProps, ErrorAlarmFactory, ErrorCountThreshold, ErrorRateThreshold, HighTpsThreshold, LatencyAlarmFactory, LatencyThreshold, LatencyType, LowTpsThreshold, MetricWithAlarmSupport, Monitoring, MonitoringScope, TpsAlarmFactory } from "../../common"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface ApiGatewayMonitoringOptions extends BaseMonitoringProps { readonly add4XXErrorCountAlarm?: Record; readonly add4XXErrorRateAlarm?: Record; readonly add5XXFaultCountAlarm?: Record; readonly add5XXFaultRateAlarm?: Record; readonly addLatencyP50Alarm?: Record; readonly addLatencyP70Alarm?: Record; readonly addLatencyP90Alarm?: Record; readonly addLatencyP95Alarm?: Record; readonly addLatencyP99Alarm?: Record; readonly addLatencyP999Alarm?: Record; readonly addLatencyP9999Alarm?: Record; readonly addLatencyP100Alarm?: Record; readonly addLatencyTM50Alarm?: Record; readonly addLatencyTM70Alarm?: Record; readonly addLatencyTM90Alarm?: Record; readonly addLatencyTM95Alarm?: Record; readonly addLatencyTM99Alarm?: Record; readonly addLatencyTM999Alarm?: Record; readonly addLatencyTM9999Alarm?: Record; readonly addLatencyTM95OutlierAlarm?: Record; readonly addLatencyTM99OutlierAlarm?: Record; readonly addLatencyTM999OutlierAlarm?: Record; readonly addLatencyTM9999OutlierAlarm?: Record; readonly addLatencyAverageAlarm?: Record; readonly addLowTpsAlarm?: Record; readonly addHighTpsAlarm?: 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 - p50, p90, p99 (@see DefaultLatencyTypesToRender) */ readonly latencyTypesToRender?: LatencyType[]; } export interface ApiGatewayMonitoringProps extends ApiGatewayMetricFactoryProps, ApiGatewayMonitoringOptions { } export declare class ApiGatewayMonitoring extends Monitoring { readonly title: string; readonly alarmFactory: AlarmFactory; readonly errorAlarmFactory: ErrorAlarmFactory; readonly tpsAlarmFactory: TpsAlarmFactory; readonly latencyAlarmFactory: LatencyAlarmFactory; readonly tpsAnnotations: HorizontalAnnotation[]; readonly latencyAnnotations: HorizontalAnnotation[]; readonly errorCountAnnotations: HorizontalAnnotation[]; readonly errorRateAnnotations: HorizontalAnnotation[]; readonly tpsMetric: MetricWithAlarmSupport; readonly error4XXCountMetric: MetricWithAlarmSupport; readonly error4XXRateMetric: MetricWithAlarmSupport; readonly fault5XXCountMetric: MetricWithAlarmSupport; readonly fault5XXRateMetric: MetricWithAlarmSupport; readonly latencyMetrics: Record; readonly latencyTypesToRender: string[]; constructor(scope: MonitoringScope, props: ApiGatewayMonitoringProps); summaryWidgets(): IWidget[]; widgets(): IWidget[]; createTitleWidget(): MonitoringHeaderWidget; createTpsWidget(width: number, height: number): GraphWidget; createLatencyWidget(width: number, height: number): GraphWidget; createErrorCountWidget(width: number, height: number): GraphWidget; createErrorRateWidget(width: number, height: number): GraphWidget; }