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

79 lines 8.45 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Monitoring = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const dashboard_1 = require("../../dashboard"); /** * An independent unit of monitoring. This is the base for all monitoring classes with alarm support. */ class Monitoring { constructor(scope, props) { this.scope = scope; this.alarms = []; this.localAlarmNamePrefixOverride = props?.localAlarmNamePrefixOverride; } /** * Creates a new widget factory. */ createWidgetFactory() { return this.scope.createWidgetFactory(); } /** * Creates a new metric factory. */ createMetricFactory() { return this.scope.createMetricFactory(); } /** * Creates a new alarm factory. * Alarms created will be named with the given prefix, unless a local name override is present. * @param alarmNamePrefix alarm name prefix */ createAlarmFactory(alarmNamePrefix) { return this.scope.createAlarmFactory(this.localAlarmNamePrefixOverride ?? alarmNamePrefix); } /** * Adds an alarm. * @param alarm alarm to add */ addAlarm(alarm) { this.alarms.push(alarm); } /** * Returns all the alarms created. */ createdAlarms() { return this.alarms; } /** * Returns widgets for all alarms. These can go to runbook or to service dashboard. */ alarmWidgets() { return this.createdAlarms().map((alarm) => this.createWidgetFactory().createAlarmDetailWidget(alarm)); } /** * Returns widgets to be placed on the summary dashboard. * * @default - no widgets. */ summaryWidgets() { return []; } widgetsForDashboard(name) { switch (name) { case dashboard_1.DefaultDashboards.SUMMARY: return this.summaryWidgets(); case dashboard_1.DefaultDashboards.DETAIL: return this.widgets(); case dashboard_1.DefaultDashboards.ALARMS: return this.alarmWidgets(); default: return []; } } } exports.Monitoring = Monitoring; _a = JSII_RTTI_SYMBOL_1; Monitoring[_a] = { fqn: "cdk-monitoring-constructs.Monitoring", version: "9.15.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwrQ0FNeUI7QUFzQnpCOztHQUVHO0FBQ0gsTUFBc0IsVUFBVTtJQU85QixZQUFzQixLQUFzQixFQUFFLEtBQTJCO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLEVBQUUsNEJBQTRCLENBQUM7SUFDMUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLGVBQXVCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FDbEMsSUFBSSxDQUFDLDRCQUE0QixJQUFJLGVBQWUsQ0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBMEI7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWM7UUFDWixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFPRCxtQkFBbUIsQ0FBQyxJQUFZO1FBQzlCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyw2QkFBaUIsQ0FBQyxPQUFPO2dCQUM1QixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvQixLQUFLLDZCQUFpQixDQUFDLE1BQU07Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLEtBQUssNkJBQWlCLENBQUMsTUFBTTtnQkFDM0IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0I7Z0JBQ0UsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7O0FBdkZILGdDQXdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXaWRnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuaW1wb3J0IHsgTW9uaXRvcmluZ1Njb3BlIH0gZnJvbSBcIi4vTW9uaXRvcmluZ1Njb3BlXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0RGFzaGJvYXJkcyxcbiAgSURhc2hib2FyZFNlZ21lbnQsXG4gIElEeW5hbWljRGFzaGJvYXJkU2VnbWVudCxcbiAgTW9uaXRvcmluZ0Rhc2hib2FyZHNPdmVycmlkZVByb3BzLFxuICBVc2VyUHJvdmlkZWROYW1lcyxcbn0gZnJvbSBcIi4uLy4uL2Rhc2hib2FyZFwiO1xuaW1wb3J0IHsgQWxhcm1XaXRoQW5ub3RhdGlvbiB9IGZyb20gXCIuLi9hbGFybVwiO1xuaW1wb3J0IHsgQmFzZU1ldHJpY0ZhY3RvcnlQcm9wcyB9IGZyb20gXCIuLi9tZXRyaWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJQWxhcm1Db25zdW1lciB7XG4gIGNvbnN1bWUoYWxhcm1zOiBBbGFybVdpdGhBbm5vdGF0aW9uW10pOiB2b2lkO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIHByb3BlcnRpZXMgcGFzc2VkIHRvIGVhY2ggbW9uaXRvcmluZyBjb25zdHJ1Y3QuXG4gKiBJdCBjb250YWlucyAobW9zdGx5IG9wdGlvbmFsKSBwcm9wZXJ0aWVzIHRvIHNwZWNpZnkgbmFtaW5nLCBwbGFjZW1lbnQsIGFuZCBzbyBvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlTW9uaXRvcmluZ1Byb3BzXG4gIGV4dGVuZHMgQmFzZU1ldHJpY0ZhY3RvcnlQcm9wcyxcbiAgICBVc2VyUHJvdmlkZWROYW1lcyxcbiAgICBNb25pdG9yaW5nRGFzaGJvYXJkc092ZXJyaWRlUHJvcHMge1xuICAvKipcbiAgICogQ2FsbHMgcHJvdmlkZWQgZnVuY3Rpb24gdG8gcHJvY2VzcyBhbGwgYWxhcm1zIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSB1c2VDcmVhdGVkQWxhcm1zPzogSUFsYXJtQ29uc3VtZXI7XG59XG5cbi8qKlxuICogQW4gaW5kZXBlbmRlbnQgdW5pdCBvZiBtb25pdG9yaW5nLiBUaGlzIGlzIHRoZSBiYXNlIGZvciBhbGwgbW9uaXRvcmluZyBjbGFzc2VzIHdpdGggYWxhcm0gc3VwcG9ydC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vbml0b3JpbmdcbiAgaW1wbGVtZW50cyBJRGFzaGJvYXJkU2VnbWVudCwgSUR5bmFtaWNEYXNoYm9hcmRTZWdtZW50XG57XG4gIHByb3RlY3RlZCByZWFkb25seSBzY29wZTogTW9uaXRvcmluZ1Njb3BlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWxhcm1zOiBBbGFybVdpdGhBbm5vdGF0aW9uW107XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2NhbEFsYXJtTmFtZVByZWZpeE92ZXJyaWRlPzogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzY29wZTogTW9uaXRvcmluZ1Njb3BlLCBwcm9wcz86IEJhc2VNb25pdG9yaW5nUHJvcHMpIHtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5hbGFybXMgPSBbXTtcbiAgICB0aGlzLmxvY2FsQWxhcm1OYW1lUHJlZml4T3ZlcnJpZGUgPSBwcm9wcz8ubG9jYWxBbGFybU5hbWVQcmVmaXhPdmVycmlkZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHdpZGdldCBmYWN0b3J5LlxuICAgKi9cbiAgY3JlYXRlV2lkZ2V0RmFjdG9yeSgpIHtcbiAgICByZXR1cm4gdGhpcy5zY29wZS5jcmVhdGVXaWRnZXRGYWN0b3J5KCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtZXRyaWMgZmFjdG9yeS5cbiAgICovXG4gIGNyZWF0ZU1ldHJpY0ZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGUuY3JlYXRlTWV0cmljRmFjdG9yeSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYWxhcm0gZmFjdG9yeS5cbiAgICogQWxhcm1zIGNyZWF0ZWQgd2lsbCBiZSBuYW1lZCB3aXRoIHRoZSBnaXZlbiBwcmVmaXgsIHVubGVzcyBhIGxvY2FsIG5hbWUgb3ZlcnJpZGUgaXMgcHJlc2VudC5cbiAgICogQHBhcmFtIGFsYXJtTmFtZVByZWZpeCBhbGFybSBuYW1lIHByZWZpeFxuICAgKi9cbiAgY3JlYXRlQWxhcm1GYWN0b3J5KGFsYXJtTmFtZVByZWZpeDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGUuY3JlYXRlQWxhcm1GYWN0b3J5KFxuICAgICAgdGhpcy5sb2NhbEFsYXJtTmFtZVByZWZpeE92ZXJyaWRlID8/IGFsYXJtTmFtZVByZWZpeCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gYWxhcm0uXG4gICAqIEBwYXJhbSBhbGFybSBhbGFybSB0byBhZGRcbiAgICovXG4gIGFkZEFsYXJtKGFsYXJtOiBBbGFybVdpdGhBbm5vdGF0aW9uKSB7XG4gICAgdGhpcy5hbGFybXMucHVzaChhbGFybSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgdGhlIGFsYXJtcyBjcmVhdGVkLlxuICAgKi9cbiAgY3JlYXRlZEFsYXJtcygpIHtcbiAgICByZXR1cm4gdGhpcy5hbGFybXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aWRnZXRzIGZvciBhbGwgYWxhcm1zLiBUaGVzZSBjYW4gZ28gdG8gcnVuYm9vayBvciB0byBzZXJ2aWNlIGRhc2hib2FyZC5cbiAgICovXG4gIGFsYXJtV2lkZ2V0cygpOiBJV2lkZ2V0W10ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZWRBbGFybXMoKS5tYXAoKGFsYXJtKSA9PlxuICAgICAgdGhpcy5jcmVhdGVXaWRnZXRGYWN0b3J5KCkuY3JlYXRlQWxhcm1EZXRhaWxXaWRnZXQoYWxhcm0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aWRnZXRzIHRvIGJlIHBsYWNlZCBvbiB0aGUgc3VtbWFyeSBkYXNoYm9hcmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gd2lkZ2V0cy5cbiAgICovXG4gIHN1bW1hcnlXaWRnZXRzKCk6IElXaWRnZXRbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2lkZ2V0cyB0byBiZSBwbGFjZWQgb24gdGhlIG1haW4gZGFzaGJvYXJkLlxuICAgKi9cbiAgYWJzdHJhY3Qgd2lkZ2V0cygpOiBJV2lkZ2V0W107XG5cbiAgd2lkZ2V0c0ZvckRhc2hib2FyZChuYW1lOiBzdHJpbmcpOiBJV2lkZ2V0W10ge1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBEZWZhdWx0RGFzaGJvYXJkcy5TVU1NQVJZOlxuICAgICAgICByZXR1cm4gdGhpcy5zdW1tYXJ5V2lkZ2V0cygpO1xuICAgICAgY2FzZSBEZWZhdWx0RGFzaGJvYXJkcy5ERVRBSUw6XG4gICAgICAgIHJldHVybiB0aGlzLndpZGdldHMoKTtcbiAgICAgIGNhc2UgRGVmYXVsdERhc2hib2FyZHMuQUxBUk1TOlxuICAgICAgICByZXR1cm4gdGhpcy5hbGFybVdpZGdldHMoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==