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

88 lines (87 loc) 6.71 kB
import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { AgeAlarmFactory, AlarmFactory, BaseMonitoringProps, DurationThreshold, ErrorAlarmFactory, ErrorCountThreshold, ErrorRateThreshold, HighTpsThreshold, LatencyAlarmFactory, LatencyThreshold, LowTpsThreshold, MaxAgeThreshold, MetricWithAlarmSupport, Monitoring, MonitoringScope, RunningTaskCountThreshold, RunningTaskRateThreshold, TaskHealthAlarmFactory, TpsAlarmFactory, UsageAlarmFactory, UsageThreshold } from "../../common"; import { MonitoringHeaderWidget, MonitoringNamingStrategy } from "../../dashboard"; import { LambdaFunctionEnhancedMetricFactory } from "./LambdaFunctionEnhancedMetricFactory"; import { LambdaFunctionMetricFactory, LambdaFunctionMetricFactoryProps } from "./LambdaFunctionMetricFactory"; export interface LambdaFunctionMonitoringOptions extends BaseMonitoringProps { readonly addLatencyP50Alarm?: Record<string, LatencyThreshold>; readonly addLatencyP90Alarm?: Record<string, LatencyThreshold>; readonly addLatencyP99Alarm?: Record<string, LatencyThreshold>; readonly addFaultCountAlarm?: Record<string, ErrorCountThreshold>; readonly addFaultRateAlarm?: Record<string, ErrorRateThreshold>; readonly addLowTpsAlarm?: Record<string, LowTpsThreshold>; readonly addHighTpsAlarm?: Record<string, HighTpsThreshold>; readonly addThrottlesCountAlarm?: Record<string, ErrorCountThreshold>; readonly addThrottlesRateAlarm?: Record<string, ErrorRateThreshold>; readonly addConcurrentExecutionsCountAlarm?: Record<string, RunningTaskCountThreshold>; readonly addProvisionedConcurrencySpilloverInvocationsCountAlarm?: Record<string, RunningTaskCountThreshold>; readonly addProvisionedConcurrencySpilloverInvocationsRateAlarm?: Record<string, RunningTaskRateThreshold>; readonly addMaxIteratorAgeAlarm?: Record<string, MaxAgeThreshold>; readonly addEnhancedMonitoringMaxCpuTotalTimeAlarm?: Record<string, DurationThreshold>; readonly addEnhancedMonitoringP90CpuTotalTimeAlarm?: Record<string, DurationThreshold>; readonly addEnhancedMonitoringAvgCpuTotalTimeAlarm?: Record<string, DurationThreshold>; readonly addEnhancedMonitoringMaxMemoryUtilizationAlarm?: Record<string, UsageThreshold>; readonly addEnhancedMonitoringP90MemoryUtilizationAlarm?: Record<string, UsageThreshold>; readonly addEnhancedMonitoringAvgMemoryUtilizationAlarm?: Record<string, UsageThreshold>; } export interface LambdaFunctionMonitoringProps extends LambdaFunctionMetricFactoryProps, LambdaFunctionMonitoringOptions { } export declare class LambdaFunctionMonitoring extends Monitoring { protected readonly title: string; protected readonly functionUrl?: string; protected readonly namingStrategy: MonitoringNamingStrategy; protected readonly metricFactory: LambdaFunctionMetricFactory; protected readonly alarmFactory: AlarmFactory; protected readonly errorAlarmFactory: ErrorAlarmFactory; protected readonly latencyAlarmFactory: LatencyAlarmFactory; protected readonly tpsAlarmFactory: TpsAlarmFactory; protected readonly taskHealthAlarmFactory: TaskHealthAlarmFactory; protected readonly ageAlarmFactory: AgeAlarmFactory; protected readonly usageAlarmFactory: UsageAlarmFactory; protected readonly latencyAnnotations: HorizontalAnnotation[]; protected readonly errorCountAnnotations: HorizontalAnnotation[]; protected readonly errorRateAnnotations: HorizontalAnnotation[]; protected readonly invocationCountAnnotations: HorizontalAnnotation[]; protected readonly invocationRateAnnotations: HorizontalAnnotation[]; protected readonly tpsAnnotations: HorizontalAnnotation[]; protected readonly cpuTotalTimeAnnotations: HorizontalAnnotation[]; protected readonly memoryUsageAnnotations: HorizontalAnnotation[]; protected readonly maxIteratorAgeAnnotations: HorizontalAnnotation[]; protected readonly tpsMetric: MetricWithAlarmSupport; protected readonly p50LatencyMetric: MetricWithAlarmSupport; protected readonly p90LatencyMetric: MetricWithAlarmSupport; protected readonly p99LatencyMetric: MetricWithAlarmSupport; protected readonly faultCountMetric: MetricWithAlarmSupport; protected readonly faultRateMetric: MetricWithAlarmSupport; protected readonly invocationCountMetric: MetricWithAlarmSupport; protected readonly throttlesCountMetric: MetricWithAlarmSupport; protected readonly throttlesRateMetric: MetricWithAlarmSupport; protected readonly concurrentExecutionsCountMetric: MetricWithAlarmSupport; protected readonly provisionedConcurrencySpilloverInvocationsCountMetric: MetricWithAlarmSupport; protected readonly provisionedConcurrencySpilloverInvocationsRateMetric: MetricWithAlarmSupport; protected readonly maxIteratorAgeMetric: MetricWithAlarmSupport; protected readonly lambdaInsightsEnabled: boolean; protected readonly enhancedMetricFactory?: LambdaFunctionEnhancedMetricFactory; protected readonly enhancedMonitoringMaxCpuTotalTimeMetric?: MetricWithAlarmSupport; protected readonly enhancedMonitoringP90CpuTotalTimeMetric?: MetricWithAlarmSupport; protected readonly enhancedMonitoringAvgCpuTotalTimeMetric?: MetricWithAlarmSupport; protected readonly enhancedMonitoringMaxMemoryUtilizationMetric?: MetricWithAlarmSupport; protected readonly enhancedMonitoringP90MemoryUtilizationMetric?: MetricWithAlarmSupport; protected readonly enhancedMonitoringAvgMemoryUtilizationMetric?: MetricWithAlarmSupport; protected readonly enhancedMetricFunctionCostMetric?: MetricWithAlarmSupport; constructor(scope: MonitoringScope, props: LambdaFunctionMonitoringProps); summaryWidgets(): IWidget[]; widgets(): IWidget[]; protected createTitleWidget(): MonitoringHeaderWidget; protected createTpsWidget(width: number, height: number): GraphWidget; protected createLatencyWidget(width: number, height: number): GraphWidget; protected createErrorCountWidget(width: number, height: number): GraphWidget; protected createErrorRateWidget(width: number, height: number): GraphWidget; protected createRateWidget(width: number, height: number): GraphWidget; protected createInvocationWidget(width: number, height: number): GraphWidget; protected createIteratorAgeWidget(width: number, height: number): GraphWidget; protected createLambdaInsightsCpuWidget(width: number, height: number): GraphWidget; protected createLambdaInsightsMemoryWidget(width: number, height: number): GraphWidget; protected createLambdaInsightsFunctionCostWidget(width: number, height: number): GraphWidget; private resolveFunctionName; }