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

70 lines 9.22 kB
"use strict"; var _a, _b; Object.defineProperty(exports, "__esModule", { value: true }); exports.DoubleAxisGraphWidget = exports.SingleAxisGraphWidget = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch"); /** * Line graph widget with one axis only (left). * If there is just one metric, it will hide the legend to save space. * The purpose of this custom class is to make the properties more strict. * It will avoid graphs with undefined axis and dimensions. */ class SingleAxisGraphWidget extends aws_cloudwatch_1.GraphWidget { constructor(props) { super(SingleAxisGraphWidget.transformProps(props)); } static transformProps(props) { if (props.leftMetrics.length < 1) { throw new Error("No metrics defined. Please define at least one metric."); } const legendPosition = props.leftMetrics.length === 1 ? aws_cloudwatch_1.LegendPosition.HIDDEN : undefined; return { title: props.title, width: props.width, height: props.height, left: props.leftMetrics, leftYAxis: props.leftAxis, leftAnnotations: props.leftAnnotations, verticalAnnotations: props.verticalAnnotations, legendPosition, }; } } exports.SingleAxisGraphWidget = SingleAxisGraphWidget; _a = JSII_RTTI_SYMBOL_1; SingleAxisGraphWidget[_a] = { fqn: "cdk-monitoring-constructs.SingleAxisGraphWidget", version: "9.15.2" }; /** * Line graph widget with both left and right axes. * The purpose of this custom class is to make the properties more strict. * It will avoid graphs with undefined axes and dimensions. */ class DoubleAxisGraphWidget extends aws_cloudwatch_1.GraphWidget { constructor(props) { super(DoubleAxisGraphWidget.transformProps(props)); } static transformProps(props) { if (props.leftMetrics.length < 1) { throw new Error("No left metrics defined. Please define at least one metric."); } if (props.rightMetrics.length < 1) { throw new Error("No right metrics defined. Please define at least one metric."); } return { title: props.title, width: props.width, height: props.height, left: props.leftMetrics, leftYAxis: props.leftAxis, leftAnnotations: props.leftAnnotations, right: props.rightMetrics, rightYAxis: props.rightAxis, rightAnnotations: props.rightAnnotations, verticalAnnotations: props.verticalAnnotations, }; } } exports.DoubleAxisGraphWidget = DoubleAxisGraphWidget; _b = JSII_RTTI_SYMBOL_1; DoubleAxisGraphWidget[_b] = { fqn: "cdk-monitoring-constructs.DoubleAxisGraphWidget", version: "9.15.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaWN0R3JhcGhXaWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJTdHJpY3RHcmFwaFdpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtEQVFvQztBQVlwQzs7Ozs7R0FLRztBQUNILE1BQWEscUJBQXNCLFNBQVEsNEJBQVc7SUFDcEQsWUFBWSxLQUFpQztRQUMzQyxLQUFLLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQzNCLEtBQWlDO1FBRWpDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztTQUMzRTtRQUVELE1BQU0sY0FBYyxHQUNsQixLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtCQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFckUsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVztZQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDekIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsY0FBYztTQUNmLENBQUM7SUFDSixDQUFDOztBQXpCSCxzREEwQkM7OztBQWVEOzs7O0dBSUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLDRCQUFXO0lBQ3BELFlBQVksS0FBaUM7UUFDM0MsS0FBSyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUMzQixLQUFpQztRQUVqQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7UUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQ3ZCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN6QixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3pCLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMzQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7U0FDL0MsQ0FBQztJQUNKLENBQUM7O0FBL0JILHNEQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEdyYXBoV2lkZ2V0LFxuICBHcmFwaFdpZGdldFByb3BzLFxuICBIb3Jpem9udGFsQW5ub3RhdGlvbixcbiAgSU1ldHJpYyxcbiAgTGVnZW5kUG9zaXRpb24sXG4gIFZlcnRpY2FsQW5ub3RhdGlvbixcbiAgWUF4aXNQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2luZ2xlQXhpc0dyYXBoV2lkZ2V0UHJvcHMge1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgd2lkdGg6IG51bWJlcjtcbiAgcmVhZG9ubHkgaGVpZ2h0OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxlZnRNZXRyaWNzOiBJTWV0cmljW107XG4gIHJlYWRvbmx5IGxlZnRBeGlzOiBZQXhpc1Byb3BzO1xuICByZWFkb25seSBsZWZ0QW5ub3RhdGlvbnM/OiBIb3Jpem9udGFsQW5ub3RhdGlvbltdO1xuICByZWFkb25seSB2ZXJ0aWNhbEFubm90YXRpb25zPzogVmVydGljYWxBbm5vdGF0aW9uW107XG59XG5cbi8qKlxuICogTGluZSBncmFwaCB3aWRnZXQgd2l0aCBvbmUgYXhpcyBvbmx5IChsZWZ0KS5cbiAqIElmIHRoZXJlIGlzIGp1c3Qgb25lIG1ldHJpYywgaXQgd2lsbCBoaWRlIHRoZSBsZWdlbmQgdG8gc2F2ZSBzcGFjZS5cbiAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgY3VzdG9tIGNsYXNzIGlzIHRvIG1ha2UgdGhlIHByb3BlcnRpZXMgbW9yZSBzdHJpY3QuXG4gKiBJdCB3aWxsIGF2b2lkIGdyYXBocyB3aXRoIHVuZGVmaW5lZCBheGlzIGFuZCBkaW1lbnNpb25zLlxuICovXG5leHBvcnQgY2xhc3MgU2luZ2xlQXhpc0dyYXBoV2lkZ2V0IGV4dGVuZHMgR3JhcGhXaWRnZXQge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU2luZ2xlQXhpc0dyYXBoV2lkZ2V0UHJvcHMpIHtcbiAgICBzdXBlcihTaW5nbGVBeGlzR3JhcGhXaWRnZXQudHJhbnNmb3JtUHJvcHMocHJvcHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRyYW5zZm9ybVByb3BzKFxuICAgIHByb3BzOiBTaW5nbGVBeGlzR3JhcGhXaWRnZXRQcm9wcyxcbiAgKTogR3JhcGhXaWRnZXRQcm9wcyB7XG4gICAgaWYgKHByb3BzLmxlZnRNZXRyaWNzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIG1ldHJpY3MgZGVmaW5lZC4gUGxlYXNlIGRlZmluZSBhdCBsZWFzdCBvbmUgbWV0cmljLlwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBsZWdlbmRQb3NpdGlvbiA9XG4gICAgICBwcm9wcy5sZWZ0TWV0cmljcy5sZW5ndGggPT09IDEgPyBMZWdlbmRQb3NpdGlvbi5ISURERU4gOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgd2lkdGg6IHByb3BzLndpZHRoLFxuICAgICAgaGVpZ2h0OiBwcm9wcy5oZWlnaHQsXG4gICAgICBsZWZ0OiBwcm9wcy5sZWZ0TWV0cmljcyxcbiAgICAgIGxlZnRZQXhpczogcHJvcHMubGVmdEF4aXMsXG4gICAgICBsZWZ0QW5ub3RhdGlvbnM6IHByb3BzLmxlZnRBbm5vdGF0aW9ucyxcbiAgICAgIHZlcnRpY2FsQW5ub3RhdGlvbnM6IHByb3BzLnZlcnRpY2FsQW5ub3RhdGlvbnMsXG4gICAgICBsZWdlbmRQb3NpdGlvbixcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG91YmxlQXhpc0dyYXBoV2lkZ2V0UHJvcHMge1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgd2lkdGg6IG51bWJlcjtcbiAgcmVhZG9ubHkgaGVpZ2h0OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxlZnRNZXRyaWNzOiBJTWV0cmljW107XG4gIHJlYWRvbmx5IGxlZnRBeGlzOiBZQXhpc1Byb3BzO1xuICByZWFkb25seSBsZWZ0QW5ub3RhdGlvbnM/OiBIb3Jpem9udGFsQW5ub3RhdGlvbltdO1xuICByZWFkb25seSByaWdodE1ldHJpY3M6IElNZXRyaWNbXTtcbiAgcmVhZG9ubHkgcmlnaHRBeGlzOiBZQXhpc1Byb3BzO1xuICByZWFkb25seSByaWdodEFubm90YXRpb25zPzogSG9yaXpvbnRhbEFubm90YXRpb25bXTtcbiAgcmVhZG9ubHkgdmVydGljYWxBbm5vdGF0aW9ucz86IFZlcnRpY2FsQW5ub3RhdGlvbltdO1xufVxuXG4vKipcbiAqIExpbmUgZ3JhcGggd2lkZ2V0IHdpdGggYm90aCBsZWZ0IGFuZCByaWdodCBheGVzLlxuICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBjdXN0b20gY2xhc3MgaXMgdG8gbWFrZSB0aGUgcHJvcGVydGllcyBtb3JlIHN0cmljdC5cbiAqIEl0IHdpbGwgYXZvaWQgZ3JhcGhzIHdpdGggdW5kZWZpbmVkIGF4ZXMgYW5kIGRpbWVuc2lvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb3VibGVBeGlzR3JhcGhXaWRnZXQgZXh0ZW5kcyBHcmFwaFdpZGdldCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBEb3VibGVBeGlzR3JhcGhXaWRnZXRQcm9wcykge1xuICAgIHN1cGVyKERvdWJsZUF4aXNHcmFwaFdpZGdldC50cmFuc2Zvcm1Qcm9wcyhwcm9wcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdHJhbnNmb3JtUHJvcHMoXG4gICAgcHJvcHM6IERvdWJsZUF4aXNHcmFwaFdpZGdldFByb3BzLFxuICApOiBHcmFwaFdpZGdldFByb3BzIHtcbiAgICBpZiAocHJvcHMubGVmdE1ldHJpY3MubGVuZ3RoIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk5vIGxlZnQgbWV0cmljcyBkZWZpbmVkLiBQbGVhc2UgZGVmaW5lIGF0IGxlYXN0IG9uZSBtZXRyaWMuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAocHJvcHMucmlnaHRNZXRyaWNzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJObyByaWdodCBtZXRyaWNzIGRlZmluZWQuIFBsZWFzZSBkZWZpbmUgYXQgbGVhc3Qgb25lIG1ldHJpYy5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIHdpZHRoOiBwcm9wcy53aWR0aCxcbiAgICAgIGhlaWdodDogcHJvcHMuaGVpZ2h0LFxuICAgICAgbGVmdDogcHJvcHMubGVmdE1ldHJpY3MsXG4gICAgICBsZWZ0WUF4aXM6IHByb3BzLmxlZnRBeGlzLFxuICAgICAgbGVmdEFubm90YXRpb25zOiBwcm9wcy5sZWZ0QW5ub3RhdGlvbnMsXG4gICAgICByaWdodDogcHJvcHMucmlnaHRNZXRyaWNzLFxuICAgICAgcmlnaHRZQXhpczogcHJvcHMucmlnaHRBeGlzLFxuICAgICAgcmlnaHRBbm5vdGF0aW9uczogcHJvcHMucmlnaHRBbm5vdGF0aW9ucyxcbiAgICAgIHZlcnRpY2FsQW5ub3RhdGlvbnM6IHByb3BzLnZlcnRpY2FsQW5ub3RhdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIl19