cdk-monitoring-constructs
Version:
[](https://gitpod.io/#https://github.com/cdklabs/cdk-monitoring-constructs) [](https://badge
58 lines • 10.4 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ElastiCacheClusterMetricFactory = exports.ElastiCacheClusterType = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const common_1 = require("../../common");
const Namespace = "AWS/ElastiCache";
var ElastiCacheClusterType;
(function (ElastiCacheClusterType) {
ElastiCacheClusterType[ElastiCacheClusterType["MEMCACHED"] = 0] = "MEMCACHED";
ElastiCacheClusterType[ElastiCacheClusterType["REDIS"] = 1] = "REDIS";
})(ElastiCacheClusterType = exports.ElastiCacheClusterType || (exports.ElastiCacheClusterType = {}));
/**
* @see https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheMetrics.html
*/
class ElastiCacheClusterMetricFactory {
constructor(metricFactory, props) {
this.metricFactory = metricFactory;
this.dimensionsMap = {};
if (props.clusterId) {
this.dimensionsMap.CacheClusterId = props.clusterId;
}
}
metricMaxItemCount() {
return this.metricFactory.createMetric("CurrItems", common_1.MetricStatistic.MAX, "Count", this.dimensionsMap, undefined, Namespace);
}
metricEvictions() {
return this.metricFactory.createMetric("Evictions", common_1.MetricStatistic.SUM, "Evictions", this.dimensionsMap, undefined, Namespace);
}
metricAverageFreeableMemoryInBytes() {
return this.metricFactory.createMetric("FreeableMemory", common_1.MetricStatistic.AVERAGE, "Freeable", this.dimensionsMap, undefined, Namespace);
}
metricAverageUnusedMemoryInBytes() {
return this.metricFactory.createMetric("UnusedMemory", common_1.MetricStatistic.AVERAGE, "Unused", this.dimensionsMap, undefined, Namespace);
}
metricAverageCachedItemsSizeInBytes() {
return this.metricFactory.createMetric("BytesUsedForCacheItems", common_1.MetricStatistic.AVERAGE, "Items", this.dimensionsMap, undefined, Namespace);
}
metricAverageSwapUsageInBytes() {
return this.metricFactory.createMetric("SwapUsage", common_1.MetricStatistic.AVERAGE, "Swap", this.dimensionsMap, undefined, Namespace);
}
metricMaxCpuUtilizationInPercent() {
return this.metricFactory.createMetric("CPUUtilization", common_1.MetricStatistic.MAX, "Cluster CPU Utilization", this.dimensionsMap, undefined, Namespace);
}
metricAverageConnections() {
return this.metricFactory.createMetric("CurrConnections", common_1.MetricStatistic.AVERAGE, "Current", this.dimensionsMap, undefined, Namespace);
}
metricNetworkBytesIn() {
return this.metricFactory.createMetric("NetworkBytesIn", common_1.MetricStatistic.SUM, "Bytes In", this.dimensionsMap, undefined, Namespace);
}
metricNetworkBytesOut() {
return this.metricFactory.createMetric("NetworkBytesOut", common_1.MetricStatistic.SUM, "Bytes Out", this.dimensionsMap, undefined, Namespace);
}
}
exports.ElastiCacheClusterMetricFactory = ElastiCacheClusterMetricFactory;
_a = JSII_RTTI_SYMBOL_1;
ElastiCacheClusterMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.ElastiCacheClusterMetricFactory", version: "1.21.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVDbHVzdGVyTWV0cmljRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVsYXN0aUNhY2hlQ2x1c3Rlck1ldHJpY0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx5Q0FBOEQ7QUFFOUQsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUM7QUFFcEMsSUFBWSxzQkFHWDtBQUhELFdBQVksc0JBQXNCO0lBQ2hDLDZFQUFTLENBQUE7SUFDVCxxRUFBSyxDQUFBO0FBQ1AsQ0FBQyxFQUhXLHNCQUFzQixHQUF0Qiw4QkFBc0IsS0FBdEIsOEJBQXNCLFFBR2pDO0FBVUQ7O0dBRUc7QUFDSCxNQUFhLCtCQUErQjtJQUkxQyxZQUNFLGFBQTRCLEVBQzVCLEtBQTJDO1FBRTNDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxXQUFXLEVBQ1gsd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLE9BQU8sRUFDUCxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLFdBQVcsRUFDWCx3QkFBZSxDQUFDLEdBQUcsRUFDbkIsV0FBVyxFQUNYLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxrQ0FBa0M7UUFDaEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsZ0JBQWdCLEVBQ2hCLHdCQUFlLENBQUMsT0FBTyxFQUN2QixVQUFVLEVBQ1YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELGdDQUFnQztRQUM5QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxjQUFjLEVBQ2Qsd0JBQWUsQ0FBQyxPQUFPLEVBQ3ZCLFFBQVEsRUFDUixJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsbUNBQW1DO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLHdCQUF3QixFQUN4Qix3QkFBZSxDQUFDLE9BQU8sRUFDdkIsT0FBTyxFQUNQLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsV0FBVyxFQUNYLHdCQUFlLENBQUMsT0FBTyxFQUN2QixNQUFNLEVBQ04sSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELGdDQUFnQztRQUM5QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxnQkFBZ0IsRUFDaEIsd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLHlCQUF5QixFQUN6QixJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLGlCQUFpQixFQUNqQix3QkFBZSxDQUFDLE9BQU8sRUFDdkIsU0FBUyxFQUNULElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsZ0JBQWdCLEVBQ2hCLHdCQUFlLENBQUMsR0FBRyxFQUNuQixVQUFVLEVBQ1YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxpQkFBaUIsRUFDakIsd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLFdBQVcsRUFDWCxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDOztBQTNISCwwRUE0SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaW1lbnNpb25zTWFwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmltcG9ydCB7IE1ldHJpY0ZhY3RvcnksIE1ldHJpY1N0YXRpc3RpYyB9IGZyb20gXCIuLi8uLi9jb21tb25cIjtcblxuY29uc3QgTmFtZXNwYWNlID0gXCJBV1MvRWxhc3RpQ2FjaGVcIjtcblxuZXhwb3J0IGVudW0gRWxhc3RpQ2FjaGVDbHVzdGVyVHlwZSB7XG4gIE1FTUNBQ0hFRCxcbiAgUkVESVMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVDbHVzdGVyTWV0cmljRmFjdG9yeVByb3BzIHtcbiAgLyoqXG4gICAqIENsdXN0ZXIgdG8gbW9uaXRvclxuICAgKiBAZGVmYXVsdCAtIG1vbml0b3IgYWxsIGNsdXN0ZXJzXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVySWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRWxhc3RpQ2FjaGUvbGF0ZXN0L21lbS11Zy9DYWNoZU1ldHJpY3MuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVDbHVzdGVyTWV0cmljRmFjdG9yeSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBtZXRyaWNGYWN0b3J5OiBNZXRyaWNGYWN0b3J5O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGltZW5zaW9uc01hcDogRGltZW5zaW9uc01hcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZXRyaWNGYWN0b3J5OiBNZXRyaWNGYWN0b3J5LFxuICAgIHByb3BzOiBFbGFzdGlDYWNoZUNsdXN0ZXJNZXRyaWNGYWN0b3J5UHJvcHNcbiAgKSB7XG4gICAgdGhpcy5tZXRyaWNGYWN0b3J5ID0gbWV0cmljRmFjdG9yeTtcbiAgICB0aGlzLmRpbWVuc2lvbnNNYXAgPSB7fTtcbiAgICBpZiAocHJvcHMuY2x1c3RlcklkKSB7XG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAuQ2FjaGVDbHVzdGVySWQgPSBwcm9wcy5jbHVzdGVySWQ7XG4gICAgfVxuICB9XG5cbiAgbWV0cmljTWF4SXRlbUNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJDdXJySXRlbXNcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5NQVgsXG4gICAgICBcIkNvdW50XCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBOYW1lc3BhY2VcbiAgICApO1xuICB9XG5cbiAgbWV0cmljRXZpY3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJFdmljdGlvbnNcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5TVU0sXG4gICAgICBcIkV2aWN0aW9uc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgTmFtZXNwYWNlXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY0F2ZXJhZ2VGcmVlYWJsZU1lbW9yeUluQnl0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIkZyZWVhYmxlTWVtb3J5XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiRnJlZWFibGVcIixcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE5hbWVzcGFjZVxuICAgICk7XG4gIH1cblxuICBtZXRyaWNBdmVyYWdlVW51c2VkTWVtb3J5SW5CeXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIFwiVW51c2VkTWVtb3J5XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiVW51c2VkXCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBOYW1lc3BhY2VcbiAgICApO1xuICB9XG5cbiAgbWV0cmljQXZlcmFnZUNhY2hlZEl0ZW1zU2l6ZUluQnl0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIkJ5dGVzVXNlZEZvckNhY2hlSXRlbXNcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5BVkVSQUdFLFxuICAgICAgXCJJdGVtc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgTmFtZXNwYWNlXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY0F2ZXJhZ2VTd2FwVXNhZ2VJbkJ5dGVzKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJTd2FwVXNhZ2VcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5BVkVSQUdFLFxuICAgICAgXCJTd2FwXCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBOYW1lc3BhY2VcbiAgICApO1xuICB9XG5cbiAgbWV0cmljTWF4Q3B1VXRpbGl6YXRpb25JblBlcmNlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIkNQVVV0aWxpemF0aW9uXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuTUFYLFxuICAgICAgXCJDbHVzdGVyIENQVSBVdGlsaXphdGlvblwiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgTmFtZXNwYWNlXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY0F2ZXJhZ2VDb25uZWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIFwiQ3VyckNvbm5lY3Rpb25zXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiQ3VycmVudFwiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgTmFtZXNwYWNlXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY05ldHdvcmtCeXRlc0luKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJOZXR3b3JrQnl0ZXNJblwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiQnl0ZXMgSW5cIixcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE5hbWVzcGFjZVxuICAgICk7XG4gIH1cblxuICBtZXRyaWNOZXR3b3JrQnl0ZXNPdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIk5ldHdvcmtCeXRlc091dFwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiQnl0ZXMgT3V0XCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBOYW1lc3BhY2VcbiAgICApO1xuICB9XG59XG4iXX0=