cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
84 lines • 12.3 kB
JavaScript
"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", (0, common_1.getLatencyTypeStatistic)(latencyType), `ReadLatency ${(0, 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", (0, common_1.getLatencyTypeStatistic)(latencyType), `WriteLatency ${(0, 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: "10.0.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmRzSW5zdGFuY2VNZXRyaWNGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiUmRzSW5zdGFuY2VNZXRyaWNGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EseUNBUXNCO0FBRXRCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQVMvQixNQUFhLHdCQUF5QixTQUFRLDBCQUFpQjtJQUs3RCxZQUNFLGFBQTRCLEVBQzVCLEtBQW9DO1FBRXBDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVELDBCQUEwQjtRQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDO1lBQ3RDLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7WUFDOUIsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELDhCQUE4QjtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBQ2pDLFNBQVMsRUFBRSx3QkFBZSxDQUFDLE9BQU87WUFDbEMsS0FBSyxFQUFFLFdBQVc7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztZQUNuQyxTQUFTLEVBQUUsd0JBQWUsQ0FBQyxHQUFHO1lBQzlCLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztZQUNqQyxTQUFTLEVBQUUsd0JBQWUsQ0FBQyxPQUFPO1lBQ2xDLEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxXQUF3QjtRQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLGFBQWEsRUFDYixJQUFBLGdDQUF1QixFQUFDLFdBQVcsQ0FBQyxFQUNwQyxlQUFlLElBQUEsNEJBQW1CLEVBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixnQkFBZ0IsRUFDaEIsd0JBQWUsQ0FBQyxPQUFPLEVBQ3ZCLHlCQUF5QixDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixTQUFTLEVBQUUsd0JBQWUsQ0FBQyxPQUFPO1lBQ2xDLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxXQUF3QjtRQUNqRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLGNBQWMsRUFDZCxJQUFBLGdDQUF1QixFQUFDLFdBQVcsQ0FBQyxFQUNwQyxnQkFBZ0IsSUFBQSw0QkFBbUIsRUFBQyxXQUFXLENBQUMsRUFBRSxDQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLGlCQUFpQixFQUNqQix3QkFBZSxDQUFDLE9BQU8sRUFDdkIsMEJBQTBCLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQzVCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLE9BQU87WUFDbEMsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FDWixVQUFrQixFQUNsQixTQUEwQixFQUMxQixLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsVUFBVSxFQUNWLFNBQVMsRUFDVCxLQUFLLEVBQ0wsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDOztBQXBJSCw0REFxSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaW1lbnNpb25zTWFwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5pbXBvcnQgeyBJRGF0YWJhc2VJbnN0YW5jZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCI7XG5cbmltcG9ydCB7XG4gIEJhc2VNZXRyaWNGYWN0b3J5LFxuICBCYXNlTWV0cmljRmFjdG9yeVByb3BzLFxuICBMYXRlbmN5VHlwZSxcbiAgTWV0cmljRmFjdG9yeSxcbiAgTWV0cmljU3RhdGlzdGljLFxuICBnZXRMYXRlbmN5VHlwZUxhYmVsLFxuICBnZXRMYXRlbmN5VHlwZVN0YXRpc3RpYyxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5jb25zdCBSZHNOYW1lc3BhY2UgPSBcIkFXUy9SRFNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBSZHNJbnN0YW5jZU1ldHJpY0ZhY3RvcnlQcm9wcyBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMge1xuICAvKipcbiAgICogZGF0YWJhc2UgaW5zdGFuY2VcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlOiBJRGF0YWJhc2VJbnN0YW5jZTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0luc3RhbmNlTWV0cmljRmFjdG9yeSBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5IHtcbiAgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluc3RhbmNlOiBJRGF0YWJhc2VJbnN0YW5jZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpbWVuc2lvbnNNYXA6IERpbWVuc2lvbnNNYXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWV0cmljRmFjdG9yeTogTWV0cmljRmFjdG9yeSxcbiAgICBwcm9wczogUmRzSW5zdGFuY2VNZXRyaWNGYWN0b3J5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKG1ldHJpY0ZhY3RvcnksIHByb3BzKTtcblxuICAgIHRoaXMuaW5zdGFuY2UgPSBwcm9wcy5pbnN0YW5jZTtcbiAgICB0aGlzLmluc3RhbmNlSWRlbnRpZmllciA9IHByb3BzLmluc3RhbmNlLmluc3RhbmNlSWRlbnRpZmllcjtcbiAgICB0aGlzLmRpbWVuc2lvbnNNYXAgPSB7XG4gICAgICBEQkluc3RhbmNlSWRlbnRpZmllcjogdGhpcy5pbnN0YW5jZUlkZW50aWZpZXIsXG4gICAgfTtcbiAgfVxuXG4gIG1ldHJpY1RvdGFsQ29ubmVjdGlvbkNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmluc3RhbmNlLm1ldHJpY0RhdGFiYXNlQ29ubmVjdGlvbnMoe1xuICAgICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5TVU0sXG4gICAgICAgIGxhYmVsOiBcIkNvbm5lY3Rpb25zOiBTdW1cIixcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY0F2ZXJhZ2VDcHVVc2FnZUluUGVyY2VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmFkYXB0TWV0cmljKFxuICAgICAgdGhpcy5pbnN0YW5jZS5tZXRyaWNDUFVVdGlsaXphdGlvbih7XG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICAgIGxhYmVsOiBcIkNQVSBVc2FnZVwiLFxuICAgICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljTWF4RnJlZVN0b3JhZ2VTcGFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmFkYXB0TWV0cmljKFxuICAgICAgdGhpcy5pbnN0YW5jZS5tZXRyaWNGcmVlU3RvcmFnZVNwYWNlKHtcbiAgICAgICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuTUFYLFxuICAgICAgICBsYWJlbDogXCJGcmVlU3RvcmFnZVNwYWNlOiBNQVhcIixcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY0F2ZXJhZ2VGcmVlYWJsZU1lbW9yeSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmFkYXB0TWV0cmljKFxuICAgICAgdGhpcy5pbnN0YW5jZS5tZXRyaWNGcmVlYWJsZU1lbW9yeSh7XG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICAgIGxhYmVsOiBcIkZyZWVTdG9yYWdlU3BhY2U6IEF2ZXJhZ2VcIixcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY1JlYWRMYXRlbmN5SW5NaWxsaXMobGF0ZW5jeVR5cGU6IExhdGVuY3lUeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFxuICAgICAgXCJSZWFkTGF0ZW5jeVwiLFxuICAgICAgZ2V0TGF0ZW5jeVR5cGVTdGF0aXN0aWMobGF0ZW5jeVR5cGUpLFxuICAgICAgYFJlYWRMYXRlbmN5ICR7Z2V0TGF0ZW5jeVR5cGVMYWJlbChsYXRlbmN5VHlwZSl9YCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljUmVhZFRocm91Z2hwdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFxuICAgICAgXCJSZWFkVGhyb3VnaHB1dFwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICBcIlJlYWRUaHJvdWdocHV0OiBBdmVyYWdlXCIsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY1JlYWRJb3BzKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmluc3RhbmNlLm1ldHJpY1JlYWRJT1BTKHtcbiAgICAgICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgICAgbGFiZWw6IFwiUmVhZElPUFM6IEF2ZXJhZ2VcIixcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY1dyaXRlTGF0ZW5jeUluTWlsbGlzKGxhdGVuY3lUeXBlOiBMYXRlbmN5VHlwZSkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhcbiAgICAgIFwiV3JpdGVMYXRlbmN5XCIsXG4gICAgICBnZXRMYXRlbmN5VHlwZVN0YXRpc3RpYyhsYXRlbmN5VHlwZSksXG4gICAgICBgV3JpdGVMYXRlbmN5ICR7Z2V0TGF0ZW5jeVR5cGVMYWJlbChsYXRlbmN5VHlwZSl9YCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljV3JpdGVUaHJvdWdocHV0KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhcbiAgICAgIFwiV3JpdGVUaHJvdWdocHV0XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiV3JpdGVUaHJvdWdocHV0OiBBdmVyYWdlXCIsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY1dyaXRlSW9wcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmFkYXB0TWV0cmljKFxuICAgICAgdGhpcy5pbnN0YW5jZS5tZXRyaWNXcml0ZUlPUFMoe1xuICAgICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5BVkVSQUdFLFxuICAgICAgICBsYWJlbDogXCJXcml0ZUlPUFM6IEF2ZXJhZ2VcIixcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWV0cmljKFxuICAgIG1ldHJpY05hbWU6IHN0cmluZyxcbiAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYyxcbiAgICBsYWJlbDogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBzdGF0aXN0aWMsXG4gICAgICBsYWJlbCxcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIFJkc05hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==