cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
113 lines • 12.7 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KinesisDataAnalyticsMetricFactory = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const common_1 = require("../../common");
/**
* @see https://docs.aws.amazon.com/kinesisanalytics/latest/java/metrics-dimensions.html
*/
class KinesisDataAnalyticsMetricFactory extends common_1.BaseMetricFactory {
constructor(metricFactory, props) {
super(metricFactory, props);
this.dimensionsMap = {
Application: props.application,
};
}
metricKPUsCount() {
return this.metric({
name: "KPUs",
description: "Kinesis Processing Units",
});
}
metricDowntimeMs() {
return this.metric({
name: "downtime",
description: "Downtime",
});
}
metricUptimeMs() {
return this.metric({
name: "uptime",
description: "Uptime",
});
}
metricFullRestartsCount() {
return this.metric({
name: "fullRestarts",
description: "Restarts",
});
}
metricNumberOfFailedCheckpointsCount() {
return this.metric({
name: "numberOfFailedCheckpoints",
description: "Failed Checkpoints",
metricStatistic: common_1.MetricStatistic.SUM,
});
}
metricLastCheckpointDurationMs() {
return this.metric({
name: "lastCheckpointDuration",
description: "Last Checkpoint Duration",
});
}
metricLastCheckpointSizeBytes() {
return this.metric({
name: "lastCheckpointSize",
description: "Last Checkpoint Size",
metricStatistic: common_1.MetricStatistic.SUM,
});
}
metricCpuUtilizationPercent() {
return this.metric({
name: "cpuUtilization",
description: "CPU Utilization",
});
}
metricHeapMemoryUtilizationPercent() {
return this.metric({
name: "heapMemoryUtilization",
description: "Heap Memory Utilization",
});
}
metricOldGenerationGCTimeMs() {
return this.metric({
name: "oldGenerationGCTime",
description: "GC Time",
});
}
metricOldGenerationGCCount() {
return this.metric({
name: "oldGenerationGCCount",
metricStatistic: common_1.MetricStatistic.N,
description: "GC Count",
});
}
metricBackPressuredTimeMsPerSecond() {
return this.metric({
name: "backPressuredTimeMsPerSecond",
description: "Back Pressured Time",
});
}
metricCheckpointFailureRate() {
// Flink reports this metric as the latest sum for the lifecycle of a job.
// Therefore, we truly care about rate of change
return this.metricFactory.createMetricMath("RATE(numberOfFailedCheckpoints)", {
numberOfFailedCheckpoints: this.metricNumberOfFailedCheckpointsCount(),
}, "Checkpoint Failure Rate");
}
metricFullRestartRate() {
// Flink reports this metric as the latest sum for the lifecycle of a job.
// Therefore, we truly care about rate of change
return this.metricFactory.createMetricMath("RATE(fullRestarts)", {
fullRestarts: this.metricFullRestartsCount(),
}, "Full Restart Rate");
}
metric(metricsSpec) {
return this.metricFactory.createMetric(metricsSpec.name, metricsSpec.metricStatistic ?? common_1.MetricStatistic.AVERAGE, metricsSpec.description, this.dimensionsMap, undefined, "AWS/KinesisAnalytics", undefined, this.region, this.account);
}
}
exports.KinesisDataAnalyticsMetricFactory = KinesisDataAnalyticsMetricFactory;
_a = JSII_RTTI_SYMBOL_1;
KinesisDataAnalyticsMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory", version: "10.0.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2luZXNpc0RhdGFBbmFseXRpY3NNZXRyaWNGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2luZXNpc0RhdGFBbmFseXRpY3NNZXRyaWNGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEseUNBS3NCO0FBZ0J0Qjs7R0FFRztBQUNILE1BQWEsaUNBQWtDLFNBQVEsMEJBQWlCO0lBR3RFLFlBQ0UsYUFBNEIsRUFDNUIsS0FBNkM7UUFFN0MsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLE1BQU07WUFDWixXQUFXLEVBQUUsMEJBQTBCO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsV0FBVyxFQUFFLFVBQVU7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsUUFBUTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLEVBQUUsY0FBYztZQUNwQixXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0NBQW9DO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLEVBQUUsMkJBQTJCO1lBQ2pDLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsZUFBZSxFQUFFLHdCQUFlLENBQUMsR0FBRztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsOEJBQThCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLFdBQVcsRUFBRSwwQkFBMEI7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDZCQUE2QjtRQUMzQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixXQUFXLEVBQUUsc0JBQXNCO1lBQ25DLGVBQWUsRUFBRSx3QkFBZSxDQUFDLEdBQUc7U0FDckMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixXQUFXLEVBQUUsaUJBQWlCO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQ0FBa0M7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsV0FBVyxFQUFFLHlCQUF5QjtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLEVBQUUscUJBQXFCO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxzQkFBc0I7WUFDNUIsZUFBZSxFQUFFLHdCQUFlLENBQUMsQ0FBQztZQUNsQyxXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0NBQWtDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLEVBQUUsOEJBQThCO1lBQ3BDLFdBQVcsRUFBRSxxQkFBcUI7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJCQUEyQjtRQUN6QiwwRUFBMEU7UUFDMUUsZ0RBQWdEO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDeEMsaUNBQWlDLEVBQ2pDO1lBQ0UseUJBQXlCLEVBQUUsSUFBSSxDQUFDLG9DQUFvQyxFQUFFO1NBQ3ZFLEVBQ0QseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLDBFQUEwRTtRQUMxRSxnREFBZ0Q7UUFDaEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUN4QyxvQkFBb0IsRUFDcEI7WUFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1NBQzdDLEVBQ0QsbUJBQW1CLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLFdBQVcsQ0FBQyxJQUFJLEVBQ2hCLFdBQVcsQ0FBQyxlQUFlLElBQUksd0JBQWUsQ0FBQyxPQUFPLEVBQ3RELFdBQVcsQ0FBQyxXQUFXLEVBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQzs7QUF6SUgsOEVBMElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGltZW5zaW9uc01hcCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuXG5pbXBvcnQge1xuICBCYXNlTWV0cmljRmFjdG9yeSxcbiAgQmFzZU1ldHJpY0ZhY3RvcnlQcm9wcyxcbiAgTWV0cmljRmFjdG9yeSxcbiAgTWV0cmljU3RhdGlzdGljLFxufSBmcm9tIFwiLi4vLi4vY29tbW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0RhdGFBbmFseXRpY3NNZXRyaWNGYWN0b3J5UHJvcHNcbiAgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeVByb3BzIHtcbiAgcmVhZG9ubHkgYXBwbGljYXRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2VkIGludGVybmFsbHkgYnkgdGhpcyBjbGFzcyB0byBlYXNlIGdlbmVyYXRpbmcgbWV0cmljc1xuICovXG5pbnRlcmZhY2UgTWV0cmljc1NwZWMge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1ldHJpY1N0YXRpc3RpYz86IE1ldHJpY1N0YXRpc3RpYztcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9raW5lc2lzYW5hbHl0aWNzL2xhdGVzdC9qYXZhL21ldHJpY3MtZGltZW5zaW9ucy5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzRGF0YUFuYWx5dGljc01ldHJpY0ZhY3RvcnkgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBkaW1lbnNpb25zTWFwOiBEaW1lbnNpb25zTWFwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1ldHJpY0ZhY3Rvcnk6IE1ldHJpY0ZhY3RvcnksXG4gICAgcHJvcHM6IEtpbmVzaXNEYXRhQW5hbHl0aWNzTWV0cmljRmFjdG9yeVByb3BzLFxuICApIHtcbiAgICBzdXBlcihtZXRyaWNGYWN0b3J5LCBwcm9wcyk7XG5cbiAgICB0aGlzLmRpbWVuc2lvbnNNYXAgPSB7XG4gICAgICBBcHBsaWNhdGlvbjogcHJvcHMuYXBwbGljYXRpb24sXG4gICAgfTtcbiAgfVxuXG4gIG1ldHJpY0tQVXNDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoe1xuICAgICAgbmFtZTogXCJLUFVzXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJLaW5lc2lzIFByb2Nlc3NpbmcgVW5pdHNcIixcbiAgICB9KTtcbiAgfVxuXG4gIG1ldHJpY0Rvd250aW1lTXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKHtcbiAgICAgIG5hbWU6IFwiZG93bnRpbWVcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkRvd250aW1lXCIsXG4gICAgfSk7XG4gIH1cblxuICBtZXRyaWNVcHRpbWVNcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoe1xuICAgICAgbmFtZTogXCJ1cHRpbWVcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVwdGltZVwiLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljRnVsbFJlc3RhcnRzQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKHtcbiAgICAgIG5hbWU6IFwiZnVsbFJlc3RhcnRzXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSZXN0YXJ0c1wiLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljTnVtYmVyT2ZGYWlsZWRDaGVja3BvaW50c0NvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyh7XG4gICAgICBuYW1lOiBcIm51bWJlck9mRmFpbGVkQ2hlY2twb2ludHNcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkZhaWxlZCBDaGVja3BvaW50c1wiLFxuICAgICAgbWV0cmljU3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuU1VNLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljTGFzdENoZWNrcG9pbnREdXJhdGlvbk1zKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyh7XG4gICAgICBuYW1lOiBcImxhc3RDaGVja3BvaW50RHVyYXRpb25cIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkxhc3QgQ2hlY2twb2ludCBEdXJhdGlvblwiLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljTGFzdENoZWNrcG9pbnRTaXplQnl0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKHtcbiAgICAgIG5hbWU6IFwibGFzdENoZWNrcG9pbnRTaXplXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMYXN0IENoZWNrcG9pbnQgU2l6ZVwiLFxuICAgICAgbWV0cmljU3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuU1VNLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljQ3B1VXRpbGl6YXRpb25QZXJjZW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyh7XG4gICAgICBuYW1lOiBcImNwdVV0aWxpemF0aW9uXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJDUFUgVXRpbGl6YXRpb25cIixcbiAgICB9KTtcbiAgfVxuXG4gIG1ldHJpY0hlYXBNZW1vcnlVdGlsaXphdGlvblBlcmNlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKHtcbiAgICAgIG5hbWU6IFwiaGVhcE1lbW9yeVV0aWxpemF0aW9uXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJIZWFwIE1lbW9yeSBVdGlsaXphdGlvblwiLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljT2xkR2VuZXJhdGlvbkdDVGltZU1zKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyh7XG4gICAgICBuYW1lOiBcIm9sZEdlbmVyYXRpb25HQ1RpbWVcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkdDIFRpbWVcIixcbiAgICB9KTtcbiAgfVxuXG4gIG1ldHJpY09sZEdlbmVyYXRpb25HQ0NvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyh7XG4gICAgICBuYW1lOiBcIm9sZEdlbmVyYXRpb25HQ0NvdW50XCIsXG4gICAgICBtZXRyaWNTdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5OLFxuICAgICAgZGVzY3JpcHRpb246IFwiR0MgQ291bnRcIixcbiAgICB9KTtcbiAgfVxuXG4gIG1ldHJpY0JhY2tQcmVzc3VyZWRUaW1lTXNQZXJTZWNvbmQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKHtcbiAgICAgIG5hbWU6IFwiYmFja1ByZXNzdXJlZFRpbWVNc1BlclNlY29uZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiQmFjayBQcmVzc3VyZWQgVGltZVwiLFxuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljQ2hlY2twb2ludEZhaWx1cmVSYXRlKCkge1xuICAgIC8vIEZsaW5rIHJlcG9ydHMgdGhpcyBtZXRyaWMgYXMgdGhlIGxhdGVzdCBzdW0gZm9yIHRoZSBsaWZlY3ljbGUgb2YgYSBqb2IuXG4gICAgLy8gVGhlcmVmb3JlLCB3ZSB0cnVseSBjYXJlIGFib3V0IHJhdGUgb2YgY2hhbmdlXG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWNNYXRoKFxuICAgICAgXCJSQVRFKG51bWJlck9mRmFpbGVkQ2hlY2twb2ludHMpXCIsXG4gICAgICB7XG4gICAgICAgIG51bWJlck9mRmFpbGVkQ2hlY2twb2ludHM6IHRoaXMubWV0cmljTnVtYmVyT2ZGYWlsZWRDaGVja3BvaW50c0NvdW50KCksXG4gICAgICB9LFxuICAgICAgXCJDaGVja3BvaW50IEZhaWx1cmUgUmF0ZVwiLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNGdWxsUmVzdGFydFJhdGUoKSB7XG4gICAgLy8gRmxpbmsgcmVwb3J0cyB0aGlzIG1ldHJpYyBhcyB0aGUgbGF0ZXN0IHN1bSBmb3IgdGhlIGxpZmVjeWNsZSBvZiBhIGpvYi5cbiAgICAvLyBUaGVyZWZvcmUsIHdlIHRydWx5IGNhcmUgYWJvdXQgcmF0ZSBvZiBjaGFuZ2VcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpY01hdGgoXG4gICAgICBcIlJBVEUoZnVsbFJlc3RhcnRzKVwiLFxuICAgICAge1xuICAgICAgICBmdWxsUmVzdGFydHM6IHRoaXMubWV0cmljRnVsbFJlc3RhcnRzQ291bnQoKSxcbiAgICAgIH0sXG4gICAgICBcIkZ1bGwgUmVzdGFydCBSYXRlXCIsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWV0cmljKG1ldHJpY3NTcGVjOiBNZXRyaWNzU3BlYykge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgbWV0cmljc1NwZWMubmFtZSxcbiAgICAgIG1ldHJpY3NTcGVjLm1ldHJpY1N0YXRpc3RpYyA/PyBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIG1ldHJpY3NTcGVjLmRlc2NyaXB0aW9uLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgXCJBV1MvS2luZXNpc0FuYWx5dGljc1wiLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxufVxuIl19