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

84 lines 12.3 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.RdsInstanceMetricFactory = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const common_1 = require("../../common"); const RdsNamespace = "AWS/RDS"; class RdsInstanceMetricFactory extends common_1.BaseMetricFactory { constructor(metricFactory, props) { super(metricFactory, props); this.instance = props.instance; this.instanceIdentifier = props.instance.instanceIdentifier; this.dimensionsMap = { DBInstanceIdentifier: this.instanceIdentifier, }; } metricTotalConnectionCount() { return this.metricFactory.adaptMetric(this.instance.metricDatabaseConnections({ statistic: common_1.MetricStatistic.SUM, label: "Connections: Sum", region: this.region, account: this.account, })); } metricAverageCpuUsageInPercent() { return this.metricFactory.adaptMetric(this.instance.metricCPUUtilization({ statistic: common_1.MetricStatistic.AVERAGE, label: "CPU Usage", region: this.region, account: this.account, })); } metricMaxFreeStorageSpace() { return this.metricFactory.adaptMetric(this.instance.metricFreeStorageSpace({ statistic: common_1.MetricStatistic.MAX, label: "FreeStorageSpace: MAX", region: this.region, account: this.account, })); } metricAverageFreeableMemory() { return this.metricFactory.adaptMetric(this.instance.metricFreeableMemory({ statistic: common_1.MetricStatistic.AVERAGE, label: "FreeStorageSpace: Average", region: this.region, account: this.account, })); } metricReadLatencyInMillis(latencyType) { return this.metric("ReadLatency", common_1.getLatencyTypeStatistic(latencyType), `ReadLatency ${common_1.getLatencyTypeLabel(latencyType)}`); } metricReadThroughput() { return this.metric("ReadThroughput", common_1.MetricStatistic.AVERAGE, "ReadThroughput: Average"); } metricReadIops() { return this.metricFactory.adaptMetric(this.instance.metricReadIOPS({ statistic: common_1.MetricStatistic.AVERAGE, label: "ReadIOPS: Average", region: this.region, account: this.account, })); } metricWriteLatencyInMillis(latencyType) { return this.metric("WriteLatency", common_1.getLatencyTypeStatistic(latencyType), `WriteLatency ${common_1.getLatencyTypeLabel(latencyType)}`); } metricWriteThroughput() { return this.metric("WriteThroughput", common_1.MetricStatistic.AVERAGE, "WriteThroughput: Average"); } metricWriteIops() { return this.metricFactory.adaptMetric(this.instance.metricWriteIOPS({ statistic: common_1.MetricStatistic.AVERAGE, label: "WriteIOPS: Average", region: this.region, account: this.account, })); } metric(metricName, statistic, label) { return this.metricFactory.createMetric(metricName, statistic, label, this.dimensionsMap, undefined, RdsNamespace, undefined, this.region, this.account); } } exports.RdsInstanceMetricFactory = RdsInstanceMetricFactory; _a = JSII_RTTI_SYMBOL_1; RdsInstanceMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.RdsInstanceMetricFactory", version: "9.15.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmRzSW5zdGFuY2VNZXRyaWNGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiUmRzSW5zdGFuY2VNZXRyaWNGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EseUNBUXNCO0FBRXRCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQVMvQixNQUFhLHdCQUF5QixTQUFRLDBCQUFnRDtJQUs1RixZQUNFLGFBQTRCLEVBQzVCLEtBQW9DO1FBRXBDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVELDBCQUEwQjtRQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDO1lBQ3RDLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7WUFDOUIsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELDhCQUE4QjtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBQ2pDLFNBQVMsRUFBRSx3QkFBZSxDQUFDLE9BQU87WUFDbEMsS0FBSyxFQUFFLFdBQVc7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztZQUNuQyxTQUFTLEVBQUUsd0JBQWUsQ0FBQyxHQUFHO1lBQzlCLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztZQUNqQyxTQUFTLEVBQUUsd0JBQWUsQ0FBQyxPQUFPO1lBQ2xDLEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxXQUF3QjtRQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLGFBQWEsRUFDYixnQ0FBdUIsQ0FBQyxXQUFXLENBQUMsRUFDcEMsZUFBZSw0QkFBbUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLGdCQUFnQixFQUNoQix3QkFBZSxDQUFDLE9BQU8sRUFDdkIseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzNCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLE9BQU87WUFDbEMsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELDBCQUEwQixDQUFDLFdBQXdCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsY0FBYyxFQUNkLGdDQUF1QixDQUFDLFdBQVcsQ0FBQyxFQUNwQyxnQkFBZ0IsNEJBQW1CLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixpQkFBaUIsRUFDakIsd0JBQWUsQ0FBQyxPQUFPLEVBQ3ZCLDBCQUEwQixDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUM1QixTQUFTLEVBQUUsd0JBQWUsQ0FBQyxPQUFPO1lBQ2xDLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQ1osVUFBa0IsRUFDbEIsU0FBMEIsRUFDMUIsS0FBYTtRQUViLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLFVBQVUsRUFDVixTQUFTLEVBQ1QsS0FBSyxFQUNMLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQzs7QUFwSUgsNERBcUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGltZW5zaW9uc01hcCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHsgSURhdGFiYXNlSW5zdGFuY2UgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuXG5pbXBvcnQge1xuICBCYXNlTWV0cmljRmFjdG9yeSxcbiAgQmFzZU1ldHJpY0ZhY3RvcnlQcm9wcyxcbiAgTGF0ZW5jeVR5cGUsXG4gIE1ldHJpY0ZhY3RvcnksXG4gIE1ldHJpY1N0YXRpc3RpYyxcbiAgZ2V0TGF0ZW5jeVR5cGVMYWJlbCxcbiAgZ2V0TGF0ZW5jeVR5cGVTdGF0aXN0aWMsXG59IGZyb20gXCIuLi8uLi9jb21tb25cIjtcblxuY29uc3QgUmRzTmFtZXNwYWNlID0gXCJBV1MvUkRTXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmRzSW5zdGFuY2VNZXRyaWNGYWN0b3J5UHJvcHMgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeVByb3BzIHtcbiAgLyoqXG4gICAqIGRhdGFiYXNlIGluc3RhbmNlXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZTogSURhdGFiYXNlSW5zdGFuY2U7XG59XG5cbmV4cG9ydCBjbGFzcyBSZHNJbnN0YW5jZU1ldHJpY0ZhY3RvcnkgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeTxSZHNJbnN0YW5jZU1ldHJpY0ZhY3RvcnlQcm9wcz4ge1xuICByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFuY2U6IElEYXRhYmFzZUluc3RhbmNlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGltZW5zaW9uc01hcDogRGltZW5zaW9uc01hcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZXRyaWNGYWN0b3J5OiBNZXRyaWNGYWN0b3J5LFxuICAgIHByb3BzOiBSZHNJbnN0YW5jZU1ldHJpY0ZhY3RvcnlQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIobWV0cmljRmFjdG9yeSwgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZSA9IHByb3BzLmluc3RhbmNlO1xuICAgIHRoaXMuaW5zdGFuY2VJZGVudGlmaWVyID0gcHJvcHMuaW5zdGFuY2UuaW5zdGFuY2VJZGVudGlmaWVyO1xuICAgIHRoaXMuZGltZW5zaW9uc01hcCA9IHtcbiAgICAgIERCSW5zdGFuY2VJZGVudGlmaWVyOiB0aGlzLmluc3RhbmNlSWRlbnRpZmllcixcbiAgICB9O1xuICB9XG5cbiAgbWV0cmljVG90YWxDb25uZWN0aW9uQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5hZGFwdE1ldHJpYyhcbiAgICAgIHRoaXMuaW5zdGFuY2UubWV0cmljRGF0YWJhc2VDb25uZWN0aW9ucyh7XG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgICAgbGFiZWw6IFwiQ29ubmVjdGlvbnM6IFN1bVwiLFxuICAgICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljQXZlcmFnZUNwdVVzYWdlSW5QZXJjZW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmluc3RhbmNlLm1ldHJpY0NQVVV0aWxpemF0aW9uKHtcbiAgICAgICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgICAgbGFiZWw6IFwiQ1BVIFVzYWdlXCIsXG4gICAgICAgIHJlZ2lvbjogdGhpcy5yZWdpb24sXG4gICAgICAgIGFjY291bnQ6IHRoaXMuYWNjb3VudCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNNYXhGcmVlU3RvcmFnZVNwYWNlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmluc3RhbmNlLm1ldHJpY0ZyZWVTdG9yYWdlU3BhY2Uoe1xuICAgICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5NQVgsXG4gICAgICAgIGxhYmVsOiBcIkZyZWVTdG9yYWdlU3BhY2U6IE1BWFwiLFxuICAgICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljQXZlcmFnZUZyZWVhYmxlTWVtb3J5KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmluc3RhbmNlLm1ldHJpY0ZyZWVhYmxlTWVtb3J5KHtcbiAgICAgICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgICAgbGFiZWw6IFwiRnJlZVN0b3JhZ2VTcGFjZTogQXZlcmFnZVwiLFxuICAgICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljUmVhZExhdGVuY3lJbk1pbGxpcyhsYXRlbmN5VHlwZTogTGF0ZW5jeVR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoXG4gICAgICBcIlJlYWRMYXRlbmN5XCIsXG4gICAgICBnZXRMYXRlbmN5VHlwZVN0YXRpc3RpYyhsYXRlbmN5VHlwZSksXG4gICAgICBgUmVhZExhdGVuY3kgJHtnZXRMYXRlbmN5VHlwZUxhYmVsKGxhdGVuY3lUeXBlKX1gLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNSZWFkVGhyb3VnaHB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoXG4gICAgICBcIlJlYWRUaHJvdWdocHV0XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiUmVhZFRocm91Z2hwdXQ6IEF2ZXJhZ2VcIixcbiAgICApO1xuICB9XG5cbiAgbWV0cmljUmVhZElvcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5hZGFwdE1ldHJpYyhcbiAgICAgIHRoaXMuaW5zdGFuY2UubWV0cmljUmVhZElPUFMoe1xuICAgICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5BVkVSQUdFLFxuICAgICAgICBsYWJlbDogXCJSZWFkSU9QUzogQXZlcmFnZVwiLFxuICAgICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljV3JpdGVMYXRlbmN5SW5NaWxsaXMobGF0ZW5jeVR5cGU6IExhdGVuY3lUeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFxuICAgICAgXCJXcml0ZUxhdGVuY3lcIixcbiAgICAgIGdldExhdGVuY3lUeXBlU3RhdGlzdGljKGxhdGVuY3lUeXBlKSxcbiAgICAgIGBXcml0ZUxhdGVuY3kgJHtnZXRMYXRlbmN5VHlwZUxhYmVsKGxhdGVuY3lUeXBlKX1gLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNXcml0ZVRocm91Z2hwdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFxuICAgICAgXCJXcml0ZVRocm91Z2hwdXRcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5BVkVSQUdFLFxuICAgICAgXCJXcml0ZVRocm91Z2hwdXQ6IEF2ZXJhZ2VcIixcbiAgICApO1xuICB9XG5cbiAgbWV0cmljV3JpdGVJb3BzKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmluc3RhbmNlLm1ldHJpY1dyaXRlSU9QUyh7XG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICAgIGxhYmVsOiBcIldyaXRlSU9QUzogQXZlcmFnZVwiLFxuICAgICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXRyaWMoXG4gICAgbWV0cmljTmFtZTogc3RyaW5nLFxuICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgbWV0cmljTmFtZSxcbiAgICAgIHN0YXRpc3RpYyxcbiAgICAgIGxhYmVsLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgUmRzTmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxufVxuIl19