cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
45 lines (44 loc) • 2.69 kB
TypeScript
import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch";
import { GlueJobMetricFactoryProps } from "./GlueJobMetricFactory";
import { AlarmFactory, BaseMonitoringProps, ErrorAlarmFactory, ErrorCountThreshold, ErrorRateThreshold, MetricWithAlarmSupport, Monitoring, MonitoringScope } from "../../common";
import { MonitoringHeaderWidget } from "../../dashboard";
export interface GlueJobMonitoringOptions extends GlueJobMetricFactoryProps, BaseMonitoringProps {
readonly addFailedTaskCountAlarm?: Record<string, ErrorCountThreshold>;
readonly addFailedTaskRateAlarm?: Record<string, ErrorRateThreshold>;
readonly addKilledTaskCountAlarm?: Record<string, ErrorCountThreshold>;
readonly addKilledTaskRateAlarm?: Record<string, ErrorRateThreshold>;
readonly addJobFailedStateCountAlarm?: Record<string, ErrorCountThreshold>;
readonly addJobTimeoutStateCountAlarm?: Record<string, ErrorCountThreshold>;
}
export interface GlueJobMonitoringProps extends GlueJobMonitoringOptions {
}
export declare class GlueJobMonitoring extends Monitoring {
readonly title: string;
readonly alarmFactory: AlarmFactory;
readonly errorAlarmFactory: ErrorAlarmFactory;
readonly errorCountAnnotations: HorizontalAnnotation[];
readonly errorRateAnnotations: HorizontalAnnotation[];
readonly bytesReadFromS3Metric: MetricWithAlarmSupport;
readonly bytesWrittenToS3Metric: MetricWithAlarmSupport;
readonly cpuUsageMetric: MetricWithAlarmSupport;
readonly heapMemoryUsageMetric: MetricWithAlarmSupport;
readonly activeExecutorsMetric: MetricWithAlarmSupport;
readonly completedStagesMetric: MetricWithAlarmSupport;
readonly neededExecutorsMetric: MetricWithAlarmSupport;
readonly failedTaskCountMetric: MetricWithAlarmSupport;
readonly failedTaskRateMetric: MetricWithAlarmSupport;
readonly killedTaskCountMetric: MetricWithAlarmSupport;
readonly killedTaskRateMetric: MetricWithAlarmSupport;
readonly jobFailedStateMetric: MetricWithAlarmSupport;
readonly jobTimeoutStateMetric: MetricWithAlarmSupport;
constructor(scope: MonitoringScope, props: GlueJobMonitoringProps);
summaryWidgets(): IWidget[];
widgets(): IWidget[];
createTitleWidget(): MonitoringHeaderWidget;
createJobExecutionWidget(width: number, height: number): GraphWidget;
createDataMovementWidget(width: number, height: number): GraphWidget;
createUtilizationWidget(width: number, height: number): GraphWidget;
createErrorCountWidget(width: number, height: number): GraphWidget;
createErrorRateWidget(width: number, height: number): GraphWidget;
private createStateChangeMetric;
}