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", 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