cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
50 lines • 8.11 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SyntheticsCanaryMetricFactory = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const index_1 = require("../../common/index");
const MetricNamespace = "CloudWatchSynthetics";
class SyntheticsCanaryMetricFactory extends index_1.BaseMetricFactory {
constructor(metricFactory, props) {
super(metricFactory, props);
this.canary = props.canary;
this.rateComputationMethod =
props.rateComputationMethod ?? index_1.RateComputationMethod.AVERAGE;
this.dimensionsMap = {
CanaryName: props.canary.canaryName,
};
}
metricLatencyAverageInMillis() {
return this.metricFactory.adaptMetric(this.canary.metricDuration({
label: "Average",
statistic: index_1.MetricStatistic.AVERAGE,
region: this.region,
account: this.account,
}));
}
metricSuccessInPercent() {
return this.metricFactory.adaptMetric(this.canary.metricSuccessPercent({
label: "Success Rate",
statistic: index_1.MetricStatistic.AVERAGE,
region: this.region,
account: this.account,
}));
}
metric4xxErrorCount() {
return this.metricFactory.createMetric("4xx", index_1.MetricStatistic.SUM, "4xx", this.dimensionsMap, undefined, MetricNamespace, undefined, this.region, this.account);
}
metric4xxErrorRate() {
return this.metricFactory.toRate(this.metric4xxErrorCount(), this.rateComputationMethod, false, "errors");
}
metric5xxFaultCount() {
return this.metricFactory.createMetric("5xx", index_1.MetricStatistic.SUM, "5xx", this.dimensionsMap, undefined, MetricNamespace, undefined, this.region, this.account);
}
metric5xxFaultRate() {
return this.metricFactory.toRate(this.metric5xxFaultCount(), this.rateComputationMethod, false, "faults");
}
}
exports.SyntheticsCanaryMetricFactory = SyntheticsCanaryMetricFactory;
_a = JSII_RTTI_SYMBOL_1;
SyntheticsCanaryMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.SyntheticsCanaryMetricFactory", version: "10.2.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3ludGhldGljc0NhbmFyeU1ldHJpY0ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJTeW50aGV0aWNzQ2FuYXJ5TWV0cmljRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDhDQU00QjtBQUU1QixNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQWUvQyxNQUFhLDZCQUE4QixTQUFRLHlCQUFpQjtJQUtsRSxZQUNFLGFBQTRCLEVBQzVCLEtBQXlDO1FBRXpDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxxQkFBcUI7WUFDeEIsS0FBSyxDQUFDLHFCQUFxQixJQUFJLDZCQUFxQixDQUFDLE9BQU8sQ0FBQztRQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDekIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsU0FBUyxFQUFFLHVCQUFlLENBQUMsT0FBTztZQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1lBQy9CLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFNBQVMsRUFBRSx1QkFBZSxDQUFDLE9BQU87WUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsS0FBSyxFQUNMLHVCQUFlLENBQUMsR0FBRyxFQUNuQixLQUFLLEVBQ0wsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzlCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUMxQixJQUFJLENBQUMscUJBQXFCLEVBQzFCLEtBQUssRUFDTCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsS0FBSyxFQUNMLHVCQUFlLENBQUMsR0FBRyxFQUNuQixLQUFLLEVBQ0wsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzlCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUMxQixJQUFJLENBQUMscUJBQXFCLEVBQzFCLEtBQUssRUFDTCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7O0FBckZILHNFQXNGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpbWVuc2lvbnNNYXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IENhbmFyeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3ludGhldGljc1wiO1xuaW1wb3J0IHtcbiAgQmFzZU1ldHJpY0ZhY3RvcnksXG4gIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMsXG4gIE1ldHJpY0ZhY3RvcnksXG4gIE1ldHJpY1N0YXRpc3RpYyxcbiAgUmF0ZUNvbXB1dGF0aW9uTWV0aG9kLFxufSBmcm9tIFwiLi4vLi4vY29tbW9uL2luZGV4XCI7XG5cbmNvbnN0IE1ldHJpY05hbWVzcGFjZSA9IFwiQ2xvdWRXYXRjaFN5bnRoZXRpY3NcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTeW50aGV0aWNzQ2FuYXJ5TWV0cmljRmFjdG9yeVByb3BzXG4gIGV4dGVuZHMgQmFzZU1ldHJpY0ZhY3RvcnlQcm9wcyB7XG4gIC8qKlxuICAgKiBDbG91ZFdhdGNoIENhbmFyeSB0byBtb25pdG9yXG4gICAqL1xuICByZWFkb25seSBjYW5hcnk6IENhbmFyeTtcbiAgLyoqXG4gICAqIE1ldGhvZCB1c2VkIHRvIGNhbGN1bGF0ZSByZWxhdGl2ZSByYXRlc1xuICAgKiBAZGVmYXVsdCAtIGF2ZXJhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHJhdGVDb21wdXRhdGlvbk1ldGhvZD86IFJhdGVDb21wdXRhdGlvbk1ldGhvZDtcbn1cblxuZXhwb3J0IGNsYXNzIFN5bnRoZXRpY3NDYW5hcnlNZXRyaWNGYWN0b3J5IGV4dGVuZHMgQmFzZU1ldHJpY0ZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuYXJ5OiBDYW5hcnk7XG4gIHByb3RlY3RlZCByZWFkb25seSByYXRlQ29tcHV0YXRpb25NZXRob2Q6IFJhdGVDb21wdXRhdGlvbk1ldGhvZDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpbWVuc2lvbnNNYXA6IERpbWVuc2lvbnNNYXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWV0cmljRmFjdG9yeTogTWV0cmljRmFjdG9yeSxcbiAgICBwcm9wczogU3ludGhldGljc0NhbmFyeU1ldHJpY0ZhY3RvcnlQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIobWV0cmljRmFjdG9yeSwgcHJvcHMpO1xuXG4gICAgdGhpcy5jYW5hcnkgPSBwcm9wcy5jYW5hcnk7XG4gICAgdGhpcy5yYXRlQ29tcHV0YXRpb25NZXRob2QgPVxuICAgICAgcHJvcHMucmF0ZUNvbXB1dGF0aW9uTWV0aG9kID8/IFJhdGVDb21wdXRhdGlvbk1ldGhvZC5BVkVSQUdFO1xuICAgIHRoaXMuZGltZW5zaW9uc01hcCA9IHtcbiAgICAgIENhbmFyeU5hbWU6IHByb3BzLmNhbmFyeS5jYW5hcnlOYW1lLFxuICAgIH07XG4gIH1cblxuICBtZXRyaWNMYXRlbmN5QXZlcmFnZUluTWlsbGlzKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuYWRhcHRNZXRyaWMoXG4gICAgICB0aGlzLmNhbmFyeS5tZXRyaWNEdXJhdGlvbih7XG4gICAgICAgIGxhYmVsOiBcIkF2ZXJhZ2VcIixcbiAgICAgICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY1N1Y2Nlc3NJblBlcmNlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5hZGFwdE1ldHJpYyhcbiAgICAgIHRoaXMuY2FuYXJ5Lm1ldHJpY1N1Y2Nlc3NQZXJjZW50KHtcbiAgICAgICAgbGFiZWw6IFwiU3VjY2VzcyBSYXRlXCIsXG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICAgIHJlZ2lvbjogdGhpcy5yZWdpb24sXG4gICAgICAgIGFjY291bnQ6IHRoaXMuYWNjb3VudCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWM0eHhFcnJvckNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCI0eHhcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5TVU0sXG4gICAgICBcIjR4eFwiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgTWV0cmljTmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpYzR4eEVycm9yUmF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LnRvUmF0ZShcbiAgICAgIHRoaXMubWV0cmljNHh4RXJyb3JDb3VudCgpLFxuICAgICAgdGhpcy5yYXRlQ29tcHV0YXRpb25NZXRob2QsXG4gICAgICBmYWxzZSxcbiAgICAgIFwiZXJyb3JzXCIsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpYzV4eEZhdWx0Q291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIjV4eFwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiNXh4XCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBNZXRyaWNOYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljNXh4RmF1bHRSYXRlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkudG9SYXRlKFxuICAgICAgdGhpcy5tZXRyaWM1eHhGYXVsdENvdW50KCksXG4gICAgICB0aGlzLnJhdGVDb21wdXRhdGlvbk1ldGhvZCxcbiAgICAgIGZhbHNlLFxuICAgICAgXCJmYXVsdHNcIixcbiAgICApO1xuICB9XG59XG4iXX0=