UNPKG

cdk-monitoring-constructs

Version:

[![NPM version](https://badge.fury.io/js/cdk-monitoring-constructs.svg)](https://badge.fury.io/js/cdk-monitoring-constructs) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdkmonitoringconstructs/badge.svg)](https://m

63 lines 11.6 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.RedshiftClusterMetricFactory = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const common_1 = require("../../common"); const RedshiftNamespace = "AWS/Redshift"; class RedshiftClusterMetricFactory extends common_1.BaseMetricFactory { constructor(metricFactory, props) { super(metricFactory, props); this.dimensionsMap = { ClusterIdentifier: props.clusterIdentifier, }; } metricTotalConnectionCount() { return this.metric("DatabaseConnections", common_1.MetricStatistic.SUM, "Connections"); } metricAverageDiskSpaceUsageInPercent() { return this.metric("PercentageDiskSpaceUsed", common_1.MetricStatistic.AVERAGE, "Disk Usage"); } metricAverageCpuUsageInPercent() { return this.metric("CPUUtilization", common_1.MetricStatistic.AVERAGE, "CPU Usage"); } metricShortQueryDurationP90InMillis() { const sQueryLatency90 = this.metricQueryDuration("short", common_1.MetricStatistic.P90); // need to convert micros to millis return this.metricFactory.createMetricMath("sQueryLatency90 / 1000", { sQueryLatency90 }, "Short P90"); } metricMediumQueryDurationP90InMillis() { const mQueryLatency90 = this.metricQueryDuration("medium", common_1.MetricStatistic.P90); // need to convert micros to millis return this.metricFactory.createMetricMath("mQueryLatency90 / 1000", { mQueryLatency90 }, "Medium P90"); } metricLongQueryDurationP90InMillis() { const lQueryLatency90 = this.metricQueryDuration("long", common_1.MetricStatistic.P90); // need to convert micros to millis return this.metricFactory.createMetricMath("lQueryLatency90 / 1000", { lQueryLatency90 }, "Long P90"); } metricMaintenanceModeEnabled() { return this.metric("MaintenanceMode", common_1.MetricStatistic.MAX, "Maintenance"); } metricReadLatencyP90InMillis() { const readLatency = this.metric("ReadLatency", common_1.MetricStatistic.P90, "Read P90"); // need to convert seconds to millis return this.metricFactory.createMetricMath("readLatency * 1000", { readLatency }, "Read P90"); } metricWriteLatencyP90InMillis() { const writeLatency = this.metric("WriteLatency", common_1.MetricStatistic.P90, "Write P90"); // need to convert seconds to millis return this.metricFactory.createMetricMath("writeLatency * 1000", { writeLatency }, "Write P90"); } metricQueryDuration(latency, statistic) { const dimensions = { ...this.dimensionsMap, latency }; return this.metricFactory.createMetric("QueryDuration", statistic, latency, dimensions, undefined, RedshiftNamespace, undefined, this.region, this.account); } metric(metricName, statistic, label) { return this.metricFactory.createMetric(metricName, statistic, label, this.dimensionsMap, undefined, RedshiftNamespace, undefined, this.region, this.account); } } exports.RedshiftClusterMetricFactory = RedshiftClusterMetricFactory; _a = JSII_RTTI_SYMBOL_1; RedshiftClusterMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.RedshiftClusterMetricFactory", version: "10.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkc2hpZnRDbHVzdGVyTWV0cmljRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlJlZHNoaWZ0Q2x1c3Rlck1ldHJpY0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx5Q0FLc0I7QUFFdEIsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFTekMsTUFBYSw0QkFBNkIsU0FBUSwwQkFBaUI7SUFHakUsWUFDRSxhQUE0QixFQUM1QixLQUF3QztRQUV4QyxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELDBCQUEwQjtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLHFCQUFxQixFQUNyQix3QkFBZSxDQUFDLEdBQUcsRUFDbkIsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsb0NBQW9DO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIseUJBQXlCLEVBQ3pCLHdCQUFlLENBQUMsT0FBTyxFQUN2QixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLHdCQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxtQ0FBbUM7UUFDakMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUM5QyxPQUFPLEVBQ1Asd0JBQWUsQ0FBQyxHQUFHLENBQ3BCLENBQUM7UUFDRixtQ0FBbUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUN4Qyx3QkFBd0IsRUFDeEIsRUFBRSxlQUFlLEVBQUUsRUFDbkIsV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0lBRUQsb0NBQW9DO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDOUMsUUFBUSxFQUNSLHdCQUFlLENBQUMsR0FBRyxDQUNwQixDQUFDO1FBQ0YsbUNBQW1DO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDeEMsd0JBQXdCLEVBQ3hCLEVBQUUsZUFBZSxFQUFFLEVBQ25CLFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELGtDQUFrQztRQUNoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQzlDLE1BQU0sRUFDTix3QkFBZSxDQUFDLEdBQUcsQ0FDcEIsQ0FBQztRQUNGLG1DQUFtQztRQUNuQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQ3hDLHdCQUF3QixFQUN4QixFQUFFLGVBQWUsRUFBRSxFQUNuQixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLHdCQUFlLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDN0IsYUFBYSxFQUNiLHdCQUFlLENBQUMsR0FBRyxFQUNuQixVQUFVLENBQ1gsQ0FBQztRQUNGLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQ3hDLG9CQUFvQixFQUNwQixFQUFFLFdBQVcsRUFBRSxFQUNmLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELDZCQUE2QjtRQUMzQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUM5QixjQUFjLEVBQ2Qsd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLFdBQVcsQ0FDWixDQUFDO1FBQ0Ysb0NBQW9DO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDeEMscUJBQXFCLEVBQ3JCLEVBQUUsWUFBWSxFQUFFLEVBQ2hCLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQixDQUN6QixPQUEwQixFQUMxQixTQUEwQjtRQUUxQixNQUFNLFVBQVUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxlQUFlLEVBQ2YsU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUNaLFVBQWtCLEVBQ2xCLFNBQTBCLEVBQzFCLEtBQWE7UUFFYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxVQUFVLEVBQ1YsU0FBUyxFQUNULEtBQUssRUFDTCxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7O0FBM0lILG9FQTRJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpbWVuc2lvbnNNYXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuaW1wb3J0IHtcbiAgQmFzZU1ldHJpY0ZhY3RvcnksXG4gIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMsXG4gIE1ldHJpY0ZhY3RvcnksXG4gIE1ldHJpY1N0YXRpc3RpYyxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5jb25zdCBSZWRzaGlmdE5hbWVzcGFjZSA9IFwiQVdTL1JlZHNoaWZ0XCI7XG5cbnR5cGUgUXVlcnlMYXRlbmN5Q2xhc3MgPSBcInNob3J0XCIgfCBcIm1lZGl1bVwiIHwgXCJsb25nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRDbHVzdGVyTWV0cmljRmFjdG9yeVByb3BzXG4gIGV4dGVuZHMgQmFzZU1ldHJpY0ZhY3RvcnlQcm9wcyB7XG4gIHJlYWRvbmx5IGNsdXN0ZXJJZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZWRzaGlmdENsdXN0ZXJNZXRyaWNGYWN0b3J5IGV4dGVuZHMgQmFzZU1ldHJpY0ZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGltZW5zaW9uc01hcDogRGltZW5zaW9uc01hcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZXRyaWNGYWN0b3J5OiBNZXRyaWNGYWN0b3J5LFxuICAgIHByb3BzOiBSZWRzaGlmdENsdXN0ZXJNZXRyaWNGYWN0b3J5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKG1ldHJpY0ZhY3RvcnksIHByb3BzKTtcblxuICAgIHRoaXMuZGltZW5zaW9uc01hcCA9IHtcbiAgICAgIENsdXN0ZXJJZGVudGlmaWVyOiBwcm9wcy5jbHVzdGVySWRlbnRpZmllcixcbiAgICB9O1xuICB9XG5cbiAgbWV0cmljVG90YWxDb25uZWN0aW9uQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFxuICAgICAgXCJEYXRhYmFzZUNvbm5lY3Rpb25zXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuU1VNLFxuICAgICAgXCJDb25uZWN0aW9uc1wiLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNBdmVyYWdlRGlza1NwYWNlVXNhZ2VJblBlcmNlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFxuICAgICAgXCJQZXJjZW50YWdlRGlza1NwYWNlVXNlZFwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICBcIkRpc2sgVXNhZ2VcIixcbiAgICApO1xuICB9XG5cbiAgbWV0cmljQXZlcmFnZUNwdVVzYWdlSW5QZXJjZW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhcIkNQVVV0aWxpemF0aW9uXCIsIE1ldHJpY1N0YXRpc3RpYy5BVkVSQUdFLCBcIkNQVSBVc2FnZVwiKTtcbiAgfVxuXG4gIG1ldHJpY1Nob3J0UXVlcnlEdXJhdGlvblA5MEluTWlsbGlzKCkge1xuICAgIGNvbnN0IHNRdWVyeUxhdGVuY3k5MCA9IHRoaXMubWV0cmljUXVlcnlEdXJhdGlvbihcbiAgICAgIFwic2hvcnRcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5QOTAsXG4gICAgKTtcbiAgICAvLyBuZWVkIHRvIGNvbnZlcnQgbWljcm9zIHRvIG1pbGxpc1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljTWF0aChcbiAgICAgIFwic1F1ZXJ5TGF0ZW5jeTkwIC8gMTAwMFwiLFxuICAgICAgeyBzUXVlcnlMYXRlbmN5OTAgfSxcbiAgICAgIFwiU2hvcnQgUDkwXCIsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY01lZGl1bVF1ZXJ5RHVyYXRpb25QOTBJbk1pbGxpcygpIHtcbiAgICBjb25zdCBtUXVlcnlMYXRlbmN5OTAgPSB0aGlzLm1ldHJpY1F1ZXJ5RHVyYXRpb24oXG4gICAgICBcIm1lZGl1bVwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlA5MCxcbiAgICApO1xuICAgIC8vIG5lZWQgdG8gY29udmVydCBtaWNyb3MgdG8gbWlsbGlzXG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWNNYXRoKFxuICAgICAgXCJtUXVlcnlMYXRlbmN5OTAgLyAxMDAwXCIsXG4gICAgICB7IG1RdWVyeUxhdGVuY3k5MCB9LFxuICAgICAgXCJNZWRpdW0gUDkwXCIsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY0xvbmdRdWVyeUR1cmF0aW9uUDkwSW5NaWxsaXMoKSB7XG4gICAgY29uc3QgbFF1ZXJ5TGF0ZW5jeTkwID0gdGhpcy5tZXRyaWNRdWVyeUR1cmF0aW9uKFxuICAgICAgXCJsb25nXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuUDkwLFxuICAgICk7XG4gICAgLy8gbmVlZCB0byBjb252ZXJ0IG1pY3JvcyB0byBtaWxsaXNcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpY01hdGgoXG4gICAgICBcImxRdWVyeUxhdGVuY3k5MCAvIDEwMDBcIixcbiAgICAgIHsgbFF1ZXJ5TGF0ZW5jeTkwIH0sXG4gICAgICBcIkxvbmcgUDkwXCIsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY01haW50ZW5hbmNlTW9kZUVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFwiTWFpbnRlbmFuY2VNb2RlXCIsIE1ldHJpY1N0YXRpc3RpYy5NQVgsIFwiTWFpbnRlbmFuY2VcIik7XG4gIH1cblxuICBtZXRyaWNSZWFkTGF0ZW5jeVA5MEluTWlsbGlzKCkge1xuICAgIGNvbnN0IHJlYWRMYXRlbmN5ID0gdGhpcy5tZXRyaWMoXG4gICAgICBcIlJlYWRMYXRlbmN5XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuUDkwLFxuICAgICAgXCJSZWFkIFA5MFwiLFxuICAgICk7XG4gICAgLy8gbmVlZCB0byBjb252ZXJ0IHNlY29uZHMgdG8gbWlsbGlzXG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWNNYXRoKFxuICAgICAgXCJyZWFkTGF0ZW5jeSAqIDEwMDBcIixcbiAgICAgIHsgcmVhZExhdGVuY3kgfSxcbiAgICAgIFwiUmVhZCBQOTBcIixcbiAgICApO1xuICB9XG5cbiAgbWV0cmljV3JpdGVMYXRlbmN5UDkwSW5NaWxsaXMoKSB7XG4gICAgY29uc3Qgd3JpdGVMYXRlbmN5ID0gdGhpcy5tZXRyaWMoXG4gICAgICBcIldyaXRlTGF0ZW5jeVwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlA5MCxcbiAgICAgIFwiV3JpdGUgUDkwXCIsXG4gICAgKTtcbiAgICAvLyBuZWVkIHRvIGNvbnZlcnQgc2Vjb25kcyB0byBtaWxsaXNcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpY01hdGgoXG4gICAgICBcIndyaXRlTGF0ZW5jeSAqIDEwMDBcIixcbiAgICAgIHsgd3JpdGVMYXRlbmN5IH0sXG4gICAgICBcIldyaXRlIFA5MFwiLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1ldHJpY1F1ZXJ5RHVyYXRpb24oXG4gICAgbGF0ZW5jeTogUXVlcnlMYXRlbmN5Q2xhc3MsXG4gICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMsXG4gICkge1xuICAgIGNvbnN0IGRpbWVuc2lvbnMgPSB7IC4uLnRoaXMuZGltZW5zaW9uc01hcCwgbGF0ZW5jeSB9O1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJRdWVyeUR1cmF0aW9uXCIsXG4gICAgICBzdGF0aXN0aWMsXG4gICAgICBsYXRlbmN5LFxuICAgICAgZGltZW5zaW9ucyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIFJlZHNoaWZ0TmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWV0cmljKFxuICAgIG1ldHJpY05hbWU6IHN0cmluZyxcbiAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYyxcbiAgICBsYWJlbDogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBzdGF0aXN0aWMsXG4gICAgICBsYWJlbCxcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIFJlZHNoaWZ0TmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxufVxuIl19