cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
79 lines • 8.45 kB
JavaScript
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==
;