@cdklabs/multi-az-observability 0.0.1-alpha.6 → 0.0.1-alpha.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2826 -1008
- package/.jsii.tabl.json +1 -0
- package/API.md +5406 -1585
- package/README.md +176 -152
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +18 -14
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +98 -60
- package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.d.ts +3 -3
- package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.js +2 -2
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +6 -15
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +2 -10
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +11 -3
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +29 -13
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +0 -8
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +26 -23
- package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +19 -15
- package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +21 -18
- package/lib/alarmsandrules/OperationAlarmsAndRules.js +60 -72
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.d.ts +5 -5
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.js +2 -3
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +21 -13
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +48 -29
- package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +19 -15
- package/lib/alarmsandrules/ServiceAlarmsAndRules.js +34 -136
- package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.d.ts +4 -3
- package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.js +1 -1
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +6 -44
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +39 -7
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
- package/lib/azmapper/AvailabilityZoneMapper.js +8 -9
- package/lib/basic_observability/BasicServiceDashboard.d.ts +0 -3
- package/lib/basic_observability/BasicServiceDashboard.js +24 -112
- package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +97 -349
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +66 -0
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.js +3 -0
- package/lib/basic_observability/props/BasicServiceDashboardProps.d.ts +27 -13
- package/lib/basic_observability/props/BasicServiceDashboardProps.js +1 -1
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.d.ts +10 -44
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +1 -1
- package/lib/basic_observability/props/NatGatewayDetectionProps.d.ts +31 -0
- package/lib/basic_observability/props/NatGatewayDetectionProps.js +3 -0
- package/lib/canaries/CanaryFunction.js +14 -13
- package/lib/canaries/CanaryTest.js +4 -4
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/ContributorInsightsWidget.d.ts +1 -1
- package/lib/dashboards/ContributorInsightsWidget.js +13 -17
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +2 -6
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +436 -510
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +2 -10
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +420 -416
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +3 -66
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +1 -1
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +7 -2
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +1 -1
- package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +7 -2
- package/lib/dashboards/props/OperationLatencyWidgetProps.js +1 -1
- package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.d.ts +8 -8
- package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.js +1 -1
- package/lib/index.d.ts +56 -25
- package/lib/index.js +37 -19
- package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +79 -2
- package/lib/metrics/ApplicationLoadBalancerMetrics.js +883 -26
- package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
- package/lib/metrics/AvailabilityAndLatencyMetrics.js +125 -31
- package/lib/metrics/NatGatewayMetrics.d.ts +113 -0
- package/lib/metrics/NatGatewayMetrics.js +357 -0
- package/lib/metrics/RegionalAvailabilityMetrics.js +9 -10
- package/lib/metrics/RegionalLatencyMetrics.d.ts +1 -1
- package/lib/metrics/RegionalLatencyMetrics.js +27 -20
- package/lib/metrics/ZonalAvailabilityMetrics.d.ts +2 -8
- package/lib/metrics/ZonalAvailabilityMetrics.js +13 -28
- package/lib/metrics/ZonalLatencyMetrics.d.ts +2 -1
- package/lib/metrics/ZonalLatencyMetrics.js +33 -23
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +4 -0
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +1 -1
- package/lib/metrics/props/LatencyMetricProps.d.ts +6 -0
- package/lib/metrics/props/LatencyMetricProps.js +1 -1
- package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +4 -0
- package/lib/metrics/props/ZonalAvailabilityMetricProps.js +1 -1
- package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +4 -0
- package/lib/metrics/props/ZonalLatencyMetricProps.js +1 -1
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.d.ts +10 -0
- package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.js +15 -0
- package/lib/{basic_observability/props/ApplicationLoadBalancerLatencyOutlierCalculation.d.ts → outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.d.ts} +1 -1
- package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.js +23 -0
- package/lib/outlier-detection/LatencyOutlierMetricAggregation.d.ts +22 -0
- package/lib/outlier-detection/LatencyOutlierMetricAggregation.js +27 -0
- package/lib/outlier-detection/OutlierDetectionFunction.js +7 -6
- package/lib/outlier-detection/PacketLossOutlierAlgorithm.d.ts +10 -0
- package/lib/outlier-detection/PacketLossOutlierAlgorithm.js +15 -0
- package/lib/outlier-detection/src/outlier-detection.zip +0 -0
- package/lib/outlier-detection/src/scipy-layer.zip +0 -0
- package/lib/services/CanaryMetrics.d.ts +4 -3
- package/lib/services/CanaryMetrics.js +3 -4
- package/lib/services/CanaryTestAvailabilityMetricsOverride.d.ts +21 -0
- package/lib/services/CanaryTestAvailabilityMetricsOverride.js +23 -0
- package/lib/services/CanaryTestLatencyMetricsOverride.d.ts +15 -0
- package/lib/services/CanaryTestLatencyMetricsOverride.js +20 -0
- package/lib/services/CanaryTestMetricsOverride.d.ts +1 -13
- package/lib/services/CanaryTestMetricsOverride.js +2 -4
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/ICanaryMetrics.d.ts +4 -3
- package/lib/services/ICanaryMetrics.js +1 -1
- package/lib/services/ICanaryTestAvailabilityMetricsOverride.d.ts +23 -0
- package/lib/services/ICanaryTestAvailabilityMetricsOverride.js +3 -0
- package/lib/services/ICanaryTestLatencyMetricsOverride.d.ts +13 -0
- package/lib/services/ICanaryTestLatencyMetricsOverride.js +3 -0
- package/lib/services/ICanaryTestMetricsOverride.d.ts +0 -12
- package/lib/services/ICanaryTestMetricsOverride.js +1 -1
- package/lib/services/IInstrumentedServiceMultiAZObservability.d.ts +13 -3
- package/lib/services/IInstrumentedServiceMultiAZObservability.js +1 -1
- package/lib/services/IOperation.d.ts +8 -6
- package/lib/services/IOperation.js +1 -1
- package/lib/services/IOperationAvailabilityMetricDetails.d.ts +18 -0
- package/lib/services/IOperationAvailabilityMetricDetails.js +3 -0
- package/lib/services/IOperationLatencyMetricDetails.d.ts +12 -0
- package/lib/services/IOperationLatencyMetricDetails.js +3 -0
- package/lib/services/IOperationMetricDetails.d.ts +0 -12
- package/lib/services/IOperationMetricDetails.js +1 -1
- package/lib/services/IService.d.ts +18 -4
- package/lib/services/IService.js +1 -1
- package/lib/services/IServiceAvailabilityMetricDetails.d.ts +18 -0
- package/lib/services/IServiceAvailabilityMetricDetails.js +3 -0
- package/lib/services/IServiceLatencyMetricDetails.d.ts +12 -0
- package/lib/services/IServiceLatencyMetricDetails.js +3 -0
- package/lib/services/IServiceMetricDetails.d.ts +0 -12
- package/lib/services/IServiceMetricDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +15 -3
- package/lib/services/InstrumentedServiceMultiAZObservability.js +252 -228
- package/lib/services/Operation.d.ts +8 -6
- package/lib/services/Operation.js +4 -3
- package/lib/services/OperationAvailabilityMetricDetails.d.ts +22 -0
- package/lib/services/OperationAvailabilityMetricDetails.js +24 -0
- package/lib/services/OperationLatencyMetricDetails.d.ts +16 -0
- package/lib/services/OperationLatencyMetricDetails.js +21 -0
- package/lib/services/OperationMetricDetails.d.ts +1 -13
- package/lib/services/OperationMetricDetails.js +2 -8
- package/lib/services/Service.d.ts +18 -4
- package/lib/services/Service.js +4 -2
- package/lib/services/ServiceAvailabilityMetricDetails.d.ts +21 -0
- package/lib/services/ServiceAvailabilityMetricDetails.js +20 -0
- package/lib/services/ServiceLatencyMetricDetails.d.ts +15 -0
- package/lib/services/ServiceLatencyMetricDetails.js +19 -0
- package/lib/services/ServiceMetricDetails.d.ts +1 -13
- package/lib/services/ServiceMetricDetails.js +2 -4
- package/lib/services/props/CanaryMetricProps.d.ts +4 -3
- package/lib/services/props/CanaryMetricProps.js +1 -1
- package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.d.ts +22 -0
- package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.js +3 -0
- package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.d.ts +14 -0
- package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.js +3 -0
- package/lib/services/props/CanaryTestMetricsOverrideProps.d.ts +0 -16
- package/lib/services/props/CanaryTestMetricsOverrideProps.js +1 -1
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +50 -5
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +1 -1
- package/lib/services/props/MetricDimensions.js +1 -1
- package/lib/services/props/OperationAvailabilityMetricDetailsProps.d.ts +22 -0
- package/lib/services/props/OperationAvailabilityMetricDetailsProps.js +3 -0
- package/lib/services/props/OperationLatencyMetricDetailsProps.d.ts +14 -0
- package/lib/services/props/OperationLatencyMetricDetailsProps.js +3 -0
- package/lib/services/props/OperationMetricDetailsProps.d.ts +0 -16
- package/lib/services/props/OperationMetricDetailsProps.js +1 -1
- package/lib/services/props/OperationProps.d.ts +4 -3
- package/lib/services/props/OperationProps.js +1 -1
- package/lib/services/props/ServiceAvailabilityMetricDetailsProps.d.ts +18 -0
- package/lib/services/props/ServiceAvailabilityMetricDetailsProps.js +3 -0
- package/lib/services/props/ServiceLatencyMetricDetailsProps.d.ts +12 -0
- package/lib/services/props/ServiceLatencyMetricDetailsProps.js +3 -0
- package/lib/services/props/ServiceMetricDetailsProps.d.ts +0 -12
- package/lib/services/props/ServiceMetricDetailsProps.js +1 -1
- package/lib/services/props/ServiceProps.d.ts +18 -4
- package/lib/services/props/ServiceProps.js +1 -1
- package/lib/utilities/MetricsHelper.d.ts +17 -9
- package/lib/utilities/MetricsHelper.js +34 -10
- package/lib/utilities/MinimumUnhealthyTargets.d.ts +25 -0
- package/lib/utilities/MinimumUnhealthyTargets.js +3 -0
- package/package.json +14 -14
- package/rosetta/default.ts-fixture +72 -0
- package/rosetta/service.ts-fixture +144 -0
- package/lib/basic_observability/props/ApplicationLoadBalancerLatencyOutlierCalculation.js +0 -23
- package/lib/services/IBasicServiceMultiAZObservability.d.ts +0 -45
- package/lib/services/IBasicServiceMultiAZObservability.js +0 -3
|
@@ -8,12 +8,11 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
8
8
|
*/
|
|
9
9
|
class CanaryMetrics {
|
|
10
10
|
constructor(props) {
|
|
11
|
-
this.canaryAvailabilityMetricDetails =
|
|
12
|
-
props.canaryAvailabilityMetricDetails;
|
|
11
|
+
this.canaryAvailabilityMetricDetails = props.canaryAvailabilityMetricDetails;
|
|
13
12
|
this.canaryLatencyMetricDetails = props.canaryLatencyMetricDetails;
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
15
|
exports.CanaryMetrics = CanaryMetrics;
|
|
17
16
|
_a = JSII_RTTI_SYMBOL_1;
|
|
18
|
-
CanaryMetrics[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryMetrics", version: "0.0.1-alpha.
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
CanaryMetrics[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryMetrics", version: "0.0.1-alpha.60" };
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5TWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9DYW5hcnlNZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBT0E7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFXeEIsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsK0JBQStCLEdBQUcsS0FBSyxDQUFDLCtCQUErQixDQUFDO1FBQzdFLElBQUksQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMsMEJBQTBCLENBQUM7SUFDckUsQ0FBQzs7QUFkSCxzQ0FlQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElDYW5hcnlNZXRyaWNzIH0gZnJvbSAnLi9JQ2FuYXJ5TWV0cmljcyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgQ2FuYXJ5TWV0cmljUHJvcHMgfSBmcm9tICcuL3Byb3BzL0NhbmFyeU1ldHJpY1Byb3BzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIG1ldHJpY3MgZm9yIGEgY2FuYXJ5IHRlc3RpbmcgYSBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBDYW5hcnlNZXRyaWNzIGltcGxlbWVudHMgSUNhbmFyeU1ldHJpY3Mge1xuICAvKipcbiAgICogVGhlIGNhbmFyeSBhdmFpbGFiaWxpdHkgbWV0cmljIGRldGFpbHNcbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25BdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FuYXJ5IGxhdGVuY3kgbWV0cmljIGRldGFpbHNcbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzOiBJT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IENhbmFyeU1ldHJpY1Byb3BzKSB7XG4gICAgdGhpcy5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzID0gcHJvcHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscztcbiAgICB0aGlzLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzID0gcHJvcHMuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CanaryTestMetricsOverride } from "./CanaryTestMetricsOverride";
|
|
2
|
+
import { CanaryTestAvailabilityMetricsOverrideProps } from "./props/CanaryTestAvailabilityMetricsOverrideProps";
|
|
3
|
+
/**
|
|
4
|
+
* Provides overrides for the default metric settings
|
|
5
|
+
* used for the automatically created canary tests
|
|
6
|
+
*/
|
|
7
|
+
export declare class CanaryTestAvailabilityMetricsOverride extends CanaryTestMetricsOverride {
|
|
8
|
+
/**
|
|
9
|
+
* The threshold for alarms associated with availability success metrics, for example if measuring
|
|
10
|
+
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
11
|
+
* if success drops below 99%.
|
|
12
|
+
*/
|
|
13
|
+
readonly successAlarmThreshold?: number;
|
|
14
|
+
/**
|
|
15
|
+
* The threshold for alarms associated with availability fault metrics, for example if measuring
|
|
16
|
+
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
17
|
+
* if the fault rate goes above 1%.
|
|
18
|
+
*/
|
|
19
|
+
readonly faultAlarmThreshold?: number;
|
|
20
|
+
constructor(props: CanaryTestAvailabilityMetricsOverrideProps);
|
|
21
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CanaryTestAvailabilityMetricsOverride = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
const CanaryTestMetricsOverride_1 = require("./CanaryTestMetricsOverride");
|
|
9
|
+
/**
|
|
10
|
+
* Provides overrides for the default metric settings
|
|
11
|
+
* used for the automatically created canary tests
|
|
12
|
+
*/
|
|
13
|
+
class CanaryTestAvailabilityMetricsOverride extends CanaryTestMetricsOverride_1.CanaryTestMetricsOverride {
|
|
14
|
+
constructor(props) {
|
|
15
|
+
super(props);
|
|
16
|
+
this.successAlarmThreshold = props.successAlarmThreshold;
|
|
17
|
+
this.faultAlarmThreshold = props.faultAlarmThreshold;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.CanaryTestAvailabilityMetricsOverride = CanaryTestAvailabilityMetricsOverride;
|
|
21
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
22
|
+
CanaryTestAvailabilityMetricsOverride[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryTestAvailabilityMetricsOverride", version: "0.0.1-alpha.60" };
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9DYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QywyRUFBd0U7QUFHeEU7OztHQUdHO0FBQ0gsTUFBYSxxQ0FBc0MsU0FBUSxxREFBeUI7SUFlaEYsWUFBWSxLQUFpRDtRQUN6RCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1FBQ3pELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7SUFDekQsQ0FBQzs7QUFwQkwsc0ZBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB9IGZyb20gXCIuL0NhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVcIjtcbmltcG9ydCB7IENhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gXCIuL3Byb3BzL0NhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVQcm9wc1wiO1xuXG4vKipcbiAqIFByb3ZpZGVzIG92ZXJyaWRlcyBmb3IgdGhlIGRlZmF1bHQgbWV0cmljIHNldHRpbmdzXG4gKiB1c2VkIGZvciB0aGUgYXV0b21hdGljYWxseSBjcmVhdGVkIGNhbmFyeSB0ZXN0c1xuICovXG5leHBvcnQgY2xhc3MgQ2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZSBleHRlbmRzIENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUge1xuICAgIC8qKlxuICAgICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggYXZhaWxhYmlsaXR5IHN1Y2Nlc3MgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAgICogc3VjY2VzcyByYXRlLCB0aGUgdGhyZXNob2xkIG1heSBiZSA5OSwgbWVhbmluZyB5b3Ugd291bGQgd2FudCBhbiBhbGFybSB0aGF0IHRyaWdnZXJzXG4gICAgICogaWYgc3VjY2VzcyBkcm9wcyBiZWxvdyA5OSUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3VjY2Vzc0FsYXJtVGhyZXNob2xkPzogbnVtYmVyOyAgICBcblxuICAgIC8qKlxuICAgICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggYXZhaWxhYmlsaXR5IGZhdWx0IG1ldHJpY3MsIGZvciBleGFtcGxlIGlmIG1lYXN1cmluZ1xuICAgICAqIGZhdWx0IHJhdGUsIHRoZSB0aHJlc2hvbGQgbWF5IGJlIDEsIG1lYW5pbmcgeW91IHdvdWxkIHdhbnQgYW4gYWxhcm0gdGhhdCB0cmlnZ2Vyc1xuICAgICAqIGlmIHRoZSBmYXVsdCByYXRlIGdvZXMgYWJvdmUgMSUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZmF1bHRBbGFybVRocmVzaG9sZD86IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBDYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIHRoaXMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkID0gcHJvcHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkO1xuICAgICAgICB0aGlzLmZhdWx0QWxhcm1UaHJlc2hvbGQgPSBwcm9wcy5mYXVsdEFsYXJtVGhyZXNob2xkO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Duration } from "aws-cdk-lib";
|
|
2
|
+
import { CanaryTestMetricsOverride } from "./CanaryTestMetricsOverride";
|
|
3
|
+
import { CanaryTestLatencyMetricsOverrideProps } from "./props/CanaryTestLatencyMetricsOverrideProps";
|
|
4
|
+
/**
|
|
5
|
+
* Provides overrides for the default metric settings
|
|
6
|
+
* used for the automatically created canary tests
|
|
7
|
+
*/
|
|
8
|
+
export declare class CanaryTestLatencyMetricsOverride extends CanaryTestMetricsOverride {
|
|
9
|
+
/**
|
|
10
|
+
* The threshold for alarms associated with latency success metrics, for example if success
|
|
11
|
+
* latency exceeds 500 milliseconds
|
|
12
|
+
*/
|
|
13
|
+
readonly successAlarmThreshold?: Duration;
|
|
14
|
+
constructor(props: CanaryTestLatencyMetricsOverrideProps);
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CanaryTestLatencyMetricsOverride = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const CanaryTestMetricsOverride_1 = require("./CanaryTestMetricsOverride");
|
|
7
|
+
/**
|
|
8
|
+
* Provides overrides for the default metric settings
|
|
9
|
+
* used for the automatically created canary tests
|
|
10
|
+
*/
|
|
11
|
+
class CanaryTestLatencyMetricsOverride extends CanaryTestMetricsOverride_1.CanaryTestMetricsOverride {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
this.successAlarmThreshold = props.successAlarmThreshold;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CanaryTestLatencyMetricsOverride = CanaryTestLatencyMetricsOverride;
|
|
18
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
+
CanaryTestLatencyMetricsOverride[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryTestLatencyMetricsOverride", version: "0.0.1-alpha.60" };
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvQ2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwyRUFBd0U7QUFHeEU7OztHQUdHO0FBQ0gsTUFBYSxnQ0FBaUMsU0FBUSxxREFBeUI7SUFPM0UsWUFBWSxLQUE0QztRQUNwRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQzdELENBQUM7O0FBWEwsNEVBWUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB9IGZyb20gXCIuL0NhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVcIjtcbmltcG9ydCB7IENhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlUHJvcHMgfSBmcm9tIFwiLi9wcm9wcy9DYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZVByb3BzXCI7XG5cbi8qKlxuICogUHJvdmlkZXMgb3ZlcnJpZGVzIGZvciB0aGUgZGVmYXVsdCBtZXRyaWMgc2V0dGluZ3NcbiAqIHVzZWQgZm9yIHRoZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgY2FuYXJ5IHRlc3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZSBleHRlbmRzIENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUge1xuICAgIC8qKlxuICAgICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggbGF0ZW5jeSBzdWNjZXNzIG1ldHJpY3MsIGZvciBleGFtcGxlIGlmIHN1Y2Nlc3NcbiAgICAgKiBsYXRlbmN5IGV4Y2VlZHMgNTAwIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHN1Y2Nlc3NBbGFybVRocmVzaG9sZD86IER1cmF0aW9uOyAgICBcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCA9IHByb3BzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZDtcbiAgICB9XG59Il19
|
|
@@ -5,7 +5,7 @@ import { CanaryTestMetricsOverrideProps } from './props/CanaryTestMetricsOverrid
|
|
|
5
5
|
* Provides overrides for the default metric settings
|
|
6
6
|
* used for the automatically created canary tests
|
|
7
7
|
*/
|
|
8
|
-
export declare class CanaryTestMetricsOverride implements ICanaryTestMetricsOverride {
|
|
8
|
+
export declare abstract class CanaryTestMetricsOverride implements ICanaryTestMetricsOverride {
|
|
9
9
|
/**
|
|
10
10
|
* The statistic used for alarms, for availability metrics this should
|
|
11
11
|
* be "Sum", for latency metrics it could something like "p99" or "p99.9"
|
|
@@ -23,17 +23,5 @@ export declare class CanaryTestMetricsOverride implements ICanaryTestMetricsOver
|
|
|
23
23
|
* The number of datapoints to alarm on for latency and availability alarms
|
|
24
24
|
*/
|
|
25
25
|
readonly datapointsToAlarm?: number;
|
|
26
|
-
/**
|
|
27
|
-
* The threshold for alarms associated with success metrics, for example if measuring
|
|
28
|
-
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
29
|
-
* if success drops below 99%.
|
|
30
|
-
*/
|
|
31
|
-
readonly successAlarmThreshold?: number;
|
|
32
|
-
/**
|
|
33
|
-
* The threshold for alarms associated with fault metrics, for example if measuring
|
|
34
|
-
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
35
|
-
* if the fault rate goes above 1%.
|
|
36
|
-
*/
|
|
37
|
-
readonly faultAlarmThreshold?: number;
|
|
38
26
|
constructor(props: CanaryTestMetricsOverrideProps);
|
|
39
27
|
}
|
|
@@ -13,11 +13,9 @@ class CanaryTestMetricsOverride {
|
|
|
13
13
|
this.period = props.period;
|
|
14
14
|
this.evaluationPeriods = props.evaluationPeriods;
|
|
15
15
|
this.datapointsToAlarm = props.datapointsToAlarm;
|
|
16
|
-
this.successAlarmThreshold = props.successAlarmThreshold;
|
|
17
|
-
this.faultAlarmThreshold = props.faultAlarmThreshold;
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
18
|
exports.CanaryTestMetricsOverride = CanaryTestMetricsOverride;
|
|
21
19
|
_a = JSII_RTTI_SYMBOL_1;
|
|
22
|
-
CanaryTestMetricsOverride[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryTestMetricsOverride", version: "0.0.1-alpha.
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
CanaryTestMetricsOverride[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryTestMetricsOverride", version: "0.0.1-alpha.60" };
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUE7OztHQUdHO0FBQ0gsTUFBc0IseUJBQXlCO0lBc0I3QyxZQUFZLEtBQXFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELENBQUM7O0FBM0JILDhEQTRCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL0lDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmltcG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vcHJvcHMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzJztcblxuLyoqXG4gKiBQcm92aWRlcyBvdmVycmlkZXMgZm9yIHRoZSBkZWZhdWx0IG1ldHJpYyBzZXR0aW5nc1xuICogdXNlZCBmb3IgdGhlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBjYW5hcnkgdGVzdHNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgaW1wbGVtZW50cyBJQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGlzdGljIHVzZWQgZm9yIGFsYXJtcywgZm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzIHRoaXMgc2hvdWxkXG4gICAqIGJlIFwiU3VtXCIsIGZvciBsYXRlbmN5IG1ldHJpY3MgaXQgY291bGQgc29tZXRoaW5nIGxpa2UgXCJwOTlcIiBvciBcInA5OS45XCJcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtU3RhdGlzdGljPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIGZvciB0aGUgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZXZhbHVhdGlvbiBwZXJpb2RzIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWx0aXkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0aW9uUGVyaW9kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXRhcG9pbnRzIHRvIGFsYXJtIG9uIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWxpdHkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBkYXRhcG9pbnRzVG9BbGFybT86IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzKSB7XG4gICAgdGhpcy5hbGFybVN0YXRpc3RpYyA9IHByb3BzLmFsYXJtU3RhdGlzdGljO1xuICAgIHRoaXMucGVyaW9kID0gcHJvcHMucGVyaW9kO1xuICAgIHRoaXMuZXZhbHVhdGlvblBlcmlvZHMgPSBwcm9wcy5ldmFsdWF0aW9uUGVyaW9kcztcbiAgICB0aGlzLmRhdGFwb2ludHNUb0FsYXJtID0gcHJvcHMuZGF0YXBvaW50c1RvQWxhcm07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,5 +19,5 @@ class ContributorInsightRuleDetails {
|
|
|
19
19
|
}
|
|
20
20
|
exports.ContributorInsightRuleDetails = ContributorInsightRuleDetails;
|
|
21
21
|
_a = JSII_RTTI_SYMBOL_1;
|
|
22
|
-
ContributorInsightRuleDetails[_a] = { fqn: "@cdklabs/multi-az-observability.ContributorInsightRuleDetails", version: "0.0.1-alpha.
|
|
22
|
+
ContributorInsightRuleDetails[_a] = { fqn: "@cdklabs/multi-az-observability.ContributorInsightRuleDetails", version: "0.0.1-alpha.60" };
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQTs7O0dBR0c7QUFDSCxNQUFhLDZCQUE2QjtJQXdDeEMsWUFBWSxLQUF5QztRQUNuRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDLDBCQUEwQixDQUFDO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixDQUFDO0lBQ3pFLENBQUM7O0FBL0NILHNFQWdEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElMb2dHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmltcG9ydCB7IENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3Byb3BzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMnO1xuXG4vKipcbiAqIFRoZSBjb250cmlidXRvciBpbnNpZ2h0IHJ1bGUgZGV0YWlscyBmb3IgY3JlYXRpbmcgYW5cbiAqIGluc2lnaHQgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNcbmltcGxlbWVudHMgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIHtcbiAgLyoqXG4gICAqIFRoZSBsb2cgZ3JvdXBzIHdoZXJlIENsb3VkV2F0Y2ggbG9ncyBmb3IgdGhlIG9wZXJhdGlvbiBhcmUgbG9jYXRlZC4gSWZcbiAgICogdGhpcyBpcyBub3QgcHJvdmlkZWQsIENvbnRyaWJ1dG9yIEluc2lnaHQgcnVsZXMgY2Fubm90IGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cHM6IElMb2dHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbiB0aGUgbG9nIGZpbGVzIHRvIHRoZSBmaWVsZCB0aGF0IGluZGljYXRlcyB0aGUgbGF0ZW5jeVxuICAgKiBmb3IgdGhlIHJlc3BvbnNlLiBUaGlzIGNvdWxkIGVpdGhlciBiZSBzdWNjZXNzIGxhdGVuY3kgb3IgZmF1bHRcbiAgICogbGF0ZW5jeSBkZXBlbmRpbmcgb24gdGhlIGFsYXJtcyBhbmQgcnVsZXMgeW91IGFyZSBjcmVhdGluZy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NMYXRlbmN5TWV0cmljSnNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggaW4gdGhlIGxvZyBmaWxlcyB0byB0aGUgZmllbGQgdGhhdCBpZGVudGlmaWVzIHRoZSBvcGVyYXRpb25cbiAgICogdGhlIGxvZyBmaWxlIGlzIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbk5hbWVKc29uUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbiB0aGUgbG9nIGZpbGVzIHRvIHRoZSBmaWVsZCB0aGF0IGlkZW50aWZpZXMgaWYgdGhlIHJlc3BvbnNlXG4gICAqIHJlc3VsdGVkIGluIGEgZmF1bHQsIGZvciBleGFtcGxlIHsgXCJGYXVsdFwiIDogMSB9IHdvdWxkIGhhdmUgYSBwYXRoIG9mICQuRmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0TWV0cmljSnNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggaW4gdGhlIGxvZyBmaWxlcyB0byB0aGUgZmllbGQgdGhhdCBpZGVudGlmaWVzIHRoZSBBdmFpbGFiaWxpdHkgWm9uZVxuICAgKiBJZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBoYW5kbGVkIGluLCBmb3IgZXhhbXBsZSB7IFwiQVotSURcIjogXCJ1c2UxLWF6MVwiIH0gd291bGRcbiAgICogaGF2ZSBhIHBhdGggb2YgJC5BWi1JRFxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZUlkSnNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEpTT04gcGF0aCB0byB0aGUgaW5zdGFuY2UgaWQgZmllbGQgaW4gdGhlIGxvZyBmaWxlcywgb25seSByZXF1aXJlZCBmb3Igc2VydmVyLXNpZGVcbiAgICogcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWRKc29uUGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlsc1Byb3BzKSB7XG4gICAgdGhpcy5hdmFpbGFiaWxpdHlab25lSWRKc29uUGF0aCA9IHByb3BzLmF2YWlsYWJpbGl0eVpvbmVJZEpzb25QYXRoO1xuICAgIHRoaXMuZmF1bHRNZXRyaWNKc29uUGF0aCA9IHByb3BzLmZhdWx0TWV0cmljSnNvblBhdGg7XG4gICAgdGhpcy5pbnN0YW5jZUlkSnNvblBhdGggPSBwcm9wcy5pbnN0YW5jZUlkSnNvblBhdGg7XG4gICAgdGhpcy5sb2dHcm91cHMgPSBwcm9wcy5sb2dHcm91cHM7XG4gICAgdGhpcy5vcGVyYXRpb25OYW1lSnNvblBhdGggPSBwcm9wcy5vcGVyYXRpb25OYW1lSnNvblBhdGg7XG4gICAgdGhpcy5zdWNjZXNzTGF0ZW5jeU1ldHJpY0pzb25QYXRoID0gcHJvcHMuc3VjY2Vzc0xhdGVuY3lNZXRyaWNKc29uUGF0aDtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IOperationAvailabilityMetricDetails } from './IOperationAvailabilityMetricDetails';
|
|
2
|
+
import { IOperationLatencyMetricDetails } from './IOperationLatencyMetricDetails';
|
|
2
3
|
/**
|
|
3
4
|
* The metric definitions for metric produced by the canary
|
|
4
5
|
*/
|
|
@@ -6,9 +7,9 @@ export interface ICanaryMetrics {
|
|
|
6
7
|
/**
|
|
7
8
|
* The canary availability metric details
|
|
8
9
|
*/
|
|
9
|
-
readonly canaryAvailabilityMetricDetails:
|
|
10
|
+
readonly canaryAvailabilityMetricDetails: IOperationAvailabilityMetricDetails;
|
|
10
11
|
/**
|
|
11
12
|
* The canary latency metric details
|
|
12
13
|
*/
|
|
13
|
-
readonly canaryLatencyMetricDetails:
|
|
14
|
+
readonly canaryLatencyMetricDetails: IOperationLatencyMetricDetails;
|
|
14
15
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNhbmFyeU1ldHJpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSUNhbmFyeU1ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElPcGVyYXRpb25BdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL0lPcGVyYXRpb25MYXRlbmN5TWV0cmljRGV0YWlscyc7XG5cbi8qKlxuICogVGhlIG1ldHJpYyBkZWZpbml0aW9ucyBmb3IgbWV0cmljIHByb2R1Y2VkIGJ5IHRoZSBjYW5hcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FuYXJ5TWV0cmljcyB7XG4gIC8qKlxuICAgKiBUaGUgY2FuYXJ5IGF2YWlsYWJpbGl0eSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsczogSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBjYW5hcnkgbGF0ZW5jeSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25MYXRlbmN5TWV0cmljRGV0YWlscztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ICanaryTestMetricsOverride } from "./ICanaryTestMetricsOverride";
|
|
2
|
+
/**
|
|
3
|
+
* Provides overrides for the default metric settings
|
|
4
|
+
* used for the automatically created canary tests
|
|
5
|
+
*/
|
|
6
|
+
export interface ICanaryTestAvailabilityMetricsOverride extends ICanaryTestMetricsOverride {
|
|
7
|
+
/**
|
|
8
|
+
* The threshold for alarms associated with success metrics, for example if measuring
|
|
9
|
+
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
10
|
+
* if success drops below 99%.
|
|
11
|
+
*
|
|
12
|
+
* @default - This property will use the default defined for the service
|
|
13
|
+
*/
|
|
14
|
+
readonly successAlarmThreshold?: number;
|
|
15
|
+
/**
|
|
16
|
+
* The threshold for alarms associated with fault metrics, for example if measuring
|
|
17
|
+
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
18
|
+
* if the fault rate goes above 1%.
|
|
19
|
+
*
|
|
20
|
+
* @default - This property will use the default defined for the service
|
|
21
|
+
*/
|
|
22
|
+
readonly faultAlarmThreshold?: number;
|
|
23
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSUNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIH0gZnJvbSBcIi4vSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVcIjtcblxuLyoqXG4gKiBQcm92aWRlcyBvdmVycmlkZXMgZm9yIHRoZSBkZWZhdWx0IG1ldHJpYyBzZXR0aW5nc1xuICogdXNlZCBmb3IgdGhlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBjYW5hcnkgdGVzdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZSBleHRlbmRzIElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGhyZXNob2xkIGZvciBhbGFybXMgYXNzb2NpYXRlZCB3aXRoIHN1Y2Nlc3MgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAgICogc3VjY2VzcyByYXRlLCB0aGUgdGhyZXNob2xkIG1heSBiZSA5OSwgbWVhbmluZyB5b3Ugd291bGQgd2FudCBhbiBhbGFybSB0aGF0IHRyaWdnZXJzXG4gICAgICogaWYgc3VjY2VzcyBkcm9wcyBiZWxvdyA5OSUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIFRoaXMgcHJvcGVydHkgd2lsbCB1c2UgdGhlIGRlZmF1bHQgZGVmaW5lZCBmb3IgdGhlIHNlcnZpY2VcbiAgICAgKi9cbiAgICByZWFkb25seSBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ/OiBudW1iZXI7ICBcblxuICAgIC8qKlxuICAgICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggZmF1bHQgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAgICogZmF1bHQgcmF0ZSwgdGhlIHRocmVzaG9sZCBtYXkgYmUgMSwgbWVhbmluZyB5b3Ugd291bGQgd2FudCBhbiBhbGFybSB0aGF0IHRyaWdnZXJzXG4gICAgICogaWYgdGhlIGZhdWx0IHJhdGUgZ29lcyBhYm92ZSAxJS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gVGhpcyBwcm9wZXJ0eSB3aWxsIHVzZSB0aGUgZGVmYXVsdCBkZWZpbmVkIGZvciB0aGUgc2VydmljZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZhdWx0QWxhcm1UaHJlc2hvbGQ/OiBudW1iZXI7XG59Il19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Duration } from "aws-cdk-lib";
|
|
2
|
+
import { ICanaryTestMetricsOverride } from "./ICanaryTestMetricsOverride";
|
|
3
|
+
/**
|
|
4
|
+
* Provides overrides for the default metric settings
|
|
5
|
+
* used for the automatically created canary tests
|
|
6
|
+
*/
|
|
7
|
+
export interface ICanaryTestLatencyMetricsOverride extends ICanaryTestMetricsOverride {
|
|
8
|
+
/**
|
|
9
|
+
* The threshold for alarms associated with latency success metrics, for example if success
|
|
10
|
+
* latency exceeds 500 milliseconds
|
|
11
|
+
*/
|
|
12
|
+
readonly successAlarmThreshold?: Duration;
|
|
13
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0lDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIH0gZnJvbSBcIi4vSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVcIjtcblxuLyoqXG4gKiBQcm92aWRlcyBvdmVycmlkZXMgZm9yIHRoZSBkZWZhdWx0IG1ldHJpYyBzZXR0aW5nc1xuICogdXNlZCBmb3IgdGhlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBjYW5hcnkgdGVzdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGUgZXh0ZW5kcyBJQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB7XG4gICAgLyoqXG4gICAgICogVGhlIHRocmVzaG9sZCBmb3IgYWxhcm1zIGFzc29jaWF0ZWQgd2l0aCBsYXRlbmN5IHN1Y2Nlc3MgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgc3VjY2Vzc1xuICAgICAqIGxhdGVuY3kgZXhjZWVkcyA1MDAgbWlsbGlzZWNvbmRzXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3VjY2Vzc0FsYXJtVGhyZXNob2xkPzogRHVyYXRpb247IFxufSJdfQ==
|
|
@@ -21,16 +21,4 @@ export interface ICanaryTestMetricsOverride {
|
|
|
21
21
|
* The number of datapoints to alarm on for latency and availability alarms
|
|
22
22
|
*/
|
|
23
23
|
readonly datapointsToAlarm?: number;
|
|
24
|
-
/**
|
|
25
|
-
* The threshold for alarms associated with success metrics, for example if measuring
|
|
26
|
-
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
27
|
-
* if success drops below 99%.
|
|
28
|
-
*/
|
|
29
|
-
readonly successAlarmThreshold?: number;
|
|
30
|
-
/**
|
|
31
|
-
* The threshold for alarms associated with fault metrics, for example if measuring
|
|
32
|
-
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
33
|
-
* if the fault rate goes above 1%.
|
|
34
|
-
*/
|
|
35
|
-
readonly faultAlarmThreshold?: number;
|
|
36
24
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIFByb3ZpZGVzIG92ZXJyaWRlcyBmb3IgdGhlIGRlZmF1bHQgbWV0cmljIHNldHRpbmdzXG4gKiB1c2VkIGZvciB0aGUgYXV0b21hdGljYWxseSBjcmVhdGVkIGNhbmFyeSB0ZXN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIHtcbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWMgdXNlZCBmb3IgYWxhcm1zLCBmb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3MgdGhpcyBzaG91bGRcbiAgICogYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCBjb3VsZCBzb21ldGhpbmcgbGlrZSBcInA5OVwiIG9yIFwicDk5LjlcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1TdGF0aXN0aWM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2QgZm9yIHRoZSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIFByb3ZpZGVzIG92ZXJyaWRlcyBmb3IgdGhlIGRlZmF1bHQgbWV0cmljIHNldHRpbmdzXG4gKiB1c2VkIGZvciB0aGUgYXV0b21hdGljYWxseSBjcmVhdGVkIGNhbmFyeSB0ZXN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIHtcbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWMgdXNlZCBmb3IgYWxhcm1zLCBmb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3MgdGhpcyBzaG91bGRcbiAgICogYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCBjb3VsZCBzb21ldGhpbmcgbGlrZSBcInA5OVwiIG9yIFwicDk5LjlcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1TdGF0aXN0aWM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2QgZm9yIHRoZSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBldmFsdWF0aW9uIHBlcmlvZHMgZm9yIGxhdGVuY3kgYW5kIGF2YWlsYWJpbHRpeSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRhdGFwb2ludHMgdG8gYWxhcm0gb24gZm9yIGxhdGVuY3kgYW5kIGF2YWlsYWJpbGl0eSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFwb2ludHNUb0FsYXJtPzogbnVtYmVyO1xufVxuIl19
|
|
@@ -2,6 +2,7 @@ import { Dashboard, IAlarm } from 'aws-cdk-lib/aws-cloudwatch';
|
|
|
2
2
|
import { ILogGroup } from 'aws-cdk-lib/aws-logs';
|
|
3
3
|
import { IConstruct } from 'constructs';
|
|
4
4
|
import { IServiceAlarmsAndRules } from '../alarmsandrules/IServiceAlarmsAndRules';
|
|
5
|
+
import { IOperationAlarmsAndRules } from '../alarmsandrules/IOperationAlarmsAndRules';
|
|
5
6
|
/**
|
|
6
7
|
* Observability for an instrumented service
|
|
7
8
|
*/
|
|
@@ -11,16 +12,25 @@ export interface IInstrumentedServiceMultiAZObservability extends IConstruct {
|
|
|
11
12
|
*/
|
|
12
13
|
readonly serviceAlarms: IServiceAlarmsAndRules;
|
|
13
14
|
/**
|
|
14
|
-
* Index into the dictionary by operation name, then by Availability Zone
|
|
15
|
+
* Index into the dictionary by operation name, then by Availability Zone Name
|
|
15
16
|
* to get the alarms that indicate an AZ shows isolated impact from availability
|
|
16
|
-
* or latency as seen by either the server-side or canary.
|
|
17
|
-
*
|
|
17
|
+
* or latency as seen by either the server-side or canary. This is a shortcut to
|
|
18
|
+
* access the same alarms from the perOperationAlarmsAndRules property.
|
|
18
19
|
*/
|
|
19
20
|
readonly perOperationZonalImpactAlarms: {
|
|
20
21
|
[key: string]: {
|
|
21
22
|
[key: string]: IAlarm;
|
|
22
23
|
};
|
|
23
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Key represents the operation name and the value is the set
|
|
27
|
+
* of zonal alarms and rules for that operation. You can get the
|
|
28
|
+
* granular alarms that compose the higher level aggregate alarms
|
|
29
|
+
* for each operation.
|
|
30
|
+
*/
|
|
31
|
+
readonly perOperationAlarmsAndRules: {
|
|
32
|
+
[key: string]: IOperationAlarmsAndRules;
|
|
33
|
+
};
|
|
24
34
|
/**
|
|
25
35
|
* The dashboards for each operation
|
|
26
36
|
*/
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUluc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9JSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEYXNoYm9hcmQsIElBbGFybSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IElMb2dHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuLi9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IElPcGVyYXRpb25BbGFybXNBbmRSdWxlcyB9IGZyb20gJy4uL2FsYXJtc2FuZHJ1bGVzL0lPcGVyYXRpb25BbGFybXNBbmRSdWxlcyc7XG5cbi8qKlxuICogT2JzZXJ2YWJpbGl0eSBmb3IgYW4gaW5zdHJ1bWVudGVkIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IGV4dGVuZHMgSUNvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgYWxhcm1zIGFuZCBydWxlcyBmb3IgdGhlIG92ZXJhbGwgc2VydmljZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZUFsYXJtczogSVNlcnZpY2VBbGFybXNBbmRSdWxlcztcblxuICAvKipcbiAgICogSW5kZXggaW50byB0aGUgZGljdGlvbmFyeSBieSBvcGVyYXRpb24gbmFtZSwgdGhlbiBieSBBdmFpbGFiaWxpdHkgWm9uZSBOYW1lXG4gICAqIHRvIGdldCB0aGUgYWxhcm1zIHRoYXQgaW5kaWNhdGUgYW4gQVogc2hvd3MgaXNvbGF0ZWQgaW1wYWN0IGZyb20gYXZhaWxhYmlsaXR5XG4gICAqIG9yIGxhdGVuY3kgYXMgc2VlbiBieSBlaXRoZXIgdGhlIHNlcnZlci1zaWRlIG9yIGNhbmFyeS4gVGhpcyBpcyBhIHNob3J0Y3V0IHRvXG4gICAqIGFjY2VzcyB0aGUgc2FtZSBhbGFybXMgZnJvbSB0aGUgcGVyT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMgcHJvcGVydHkuXG4gICAqL1xuICByZWFkb25seSBwZXJPcGVyYXRpb25ab25hbEltcGFjdEFsYXJtczoge1xuICAgIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogSUFsYXJtIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIEtleSByZXByZXNlbnRzIHRoZSBvcGVyYXRpb24gbmFtZSBhbmQgdGhlIHZhbHVlIGlzIHRoZSBzZXRcbiAgICogb2Ygem9uYWwgYWxhcm1zIGFuZCBydWxlcyBmb3IgdGhhdCBvcGVyYXRpb24uIFlvdSBjYW4gZ2V0IHRoZSBcbiAgICogZ3JhbnVsYXIgYWxhcm1zIHRoYXQgY29tcG9zZSB0aGUgaGlnaGVyIGxldmVsIGFnZ3JlZ2F0ZSBhbGFybXNcbiAgICogZm9yIGVhY2ggb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcGVyT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBJT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBkYXNoYm9hcmRzIGZvciBlYWNoIG9wZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uRGFzaGJvYXJkcz86IERhc2hib2FyZFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmljZSBsZXZlbCBkYXNoYm9hcmRcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VEYXNoYm9hcmQ/OiBEYXNoYm9hcmQ7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzZXJ2aWNlIGlzIGNvbmZpZ3VyZWQgdG8gaGF2ZSBjYW5hcnkgdGVzdHMgY3JlYXRlZCwgdGhpcyB3aWxsXG4gICAqIGJlIHRoZSBsb2cgZ3JvdXAgd2hlcmUgdGhlIGNhbmFyeSdzIGxvZ3MgYXJlIHN0b3JlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBsb2cgZ3JvdXAgaXMgY3JlYXRlZCBpZiB0aGUgY2FuYXJ5IGlzIG5vdCByZXF1ZXN0ZWQuXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlMb2dHcm91cD86IElMb2dHcm91cDtcbn1cbiJdfQ==
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ICanaryMetrics } from './ICanaryMetrics';
|
|
2
|
-
import { ICanaryTestMetricsOverride } from './ICanaryTestMetricsOverride';
|
|
3
2
|
import { IContributorInsightRuleDetails } from './IContributorInsightRuleDetails';
|
|
4
|
-
import { IOperationMetricDetails } from './IOperationMetricDetails';
|
|
5
3
|
import { IService } from './IService';
|
|
6
4
|
import { AddCanaryTestProps } from '../canaries/props/AddCanaryTestProps';
|
|
5
|
+
import { IOperationAvailabilityMetricDetails } from './IOperationAvailabilityMetricDetails';
|
|
6
|
+
import { IOperationLatencyMetricDetails } from './IOperationLatencyMetricDetails';
|
|
7
|
+
import { ICanaryTestAvailabilityMetricsOverride } from './ICanaryTestAvailabilityMetricsOverride';
|
|
8
|
+
import { ICanaryTestLatencyMetricsOverride } from './ICanaryTestLatencyMetricsOverride';
|
|
7
9
|
/**
|
|
8
10
|
* Represents an operation in a service
|
|
9
11
|
*/
|
|
@@ -24,11 +26,11 @@ export interface IOperation {
|
|
|
24
26
|
/**
|
|
25
27
|
* The server side availability metric details
|
|
26
28
|
*/
|
|
27
|
-
readonly serverSideAvailabilityMetricDetails:
|
|
29
|
+
readonly serverSideAvailabilityMetricDetails: IOperationAvailabilityMetricDetails;
|
|
28
30
|
/**
|
|
29
31
|
* The server side latency metric details
|
|
30
32
|
*/
|
|
31
|
-
readonly serverSideLatencyMetricDetails:
|
|
33
|
+
readonly serverSideLatencyMetricDetails: IOperationLatencyMetricDetails;
|
|
32
34
|
/**
|
|
33
35
|
* Optional metric details if the service has an existing canary.
|
|
34
36
|
*/
|
|
@@ -38,13 +40,13 @@ export interface IOperation {
|
|
|
38
40
|
* use values other than the service defaults to define the thresholds for
|
|
39
41
|
* availability.
|
|
40
42
|
*/
|
|
41
|
-
readonly canaryTestAvailabilityMetricsOverride?:
|
|
43
|
+
readonly canaryTestAvailabilityMetricsOverride?: ICanaryTestAvailabilityMetricsOverride;
|
|
42
44
|
/**
|
|
43
45
|
* The override values for automatically created canary tests so you can
|
|
44
46
|
* use values other than the service defaults to define the thresholds for
|
|
45
47
|
* latency.
|
|
46
48
|
*/
|
|
47
|
-
readonly canaryTestLatencyMetricsOverride?:
|
|
49
|
+
readonly canaryTestLatencyMetricsOverride?: ICanaryTestLatencyMetricsOverride;
|
|
48
50
|
/**
|
|
49
51
|
* The server side details for contributor insights rules
|
|
50
52
|
*/
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU9wZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9JT3BlcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBJQ2FuYXJ5TWV0cmljcyB9IGZyb20gJy4vSUNhbmFyeU1ldHJpY3MnO1xuaW1wb3J0IHsgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIH0gZnJvbSAnLi9JQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuaW1wb3J0IHsgSVNlcnZpY2UgfSBmcm9tICcuL0lTZXJ2aWNlJztcbmltcG9ydCB7IEFkZENhbmFyeVRlc3RQcm9wcyB9IGZyb20gJy4uL2NhbmFyaWVzL3Byb3BzL0FkZENhbmFyeVRlc3RQcm9wcyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSUNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL0lDYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlJztcbmltcG9ydCB7IElDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vSUNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIG9wZXJhdGlvbiBpbiBhIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJT3BlcmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIHRoZSBvcGVyYXRpb24gaXMgYXNzb2NpYXRlZCB3aXRoXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlOiBJU2VydmljZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG9wZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgVGhlIEhUVFAgcGF0aCBmb3IgdGhlIG9wZXJhdGlvbiBmb3IgY2FuYXJpZXNcbiAgICogIHRvIHJ1biBhZ2FpbnN0LCBzb21ldGhpbmcgbGlrZSBcIi9wcm9kdWN0cy9saXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNlcnZlciBzaWRlIGF2YWlsYWJpbGl0eSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25BdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmVyIHNpZGUgbGF0ZW5jeSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzOiBJT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHM7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1ldHJpYyBkZXRhaWxzIGlmIHRoZSBzZXJ2aWNlIGhhcyBhbiBleGlzdGluZyBjYW5hcnkuXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlNZXRyaWNEZXRhaWxzPzogSUNhbmFyeU1ldHJpY3M7XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVycmlkZSB2YWx1ZXMgZm9yIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBjYW5hcnkgdGVzdHMgc28geW91IGNhblxuICAgKiB1c2UgdmFsdWVzIG90aGVyIHRoYW4gdGhlIHNlcnZpY2UgZGVmYXVsdHMgdG8gZGVmaW5lIHRoZSB0aHJlc2hvbGRzIGZvclxuICAgKiBhdmFpbGFiaWxpdHkuXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlPzogSUNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVycmlkZSB2YWx1ZXMgZm9yIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBjYW5hcnkgdGVzdHMgc28geW91IGNhblxuICAgKiB1c2UgdmFsdWVzIG90aGVyIHRoYW4gdGhlIHNlcnZpY2UgZGVmYXVsdHMgdG8gZGVmaW5lIHRoZSB0aHJlc2hvbGRzIGZvclxuICAgKiBsYXRlbmN5LlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGU/OiBJQ2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2ZXIgc2lkZSBkZXRhaWxzIGZvciBjb250cmlidXRvciBpbnNpZ2h0cyBydWxlc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VydmVyU2lkZUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzPzogSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhpcyBpcyBhIGNyaXRpY2FsIG9wZXJhdGlvbiBmb3IgdGhlIHNlcnZpY2VcbiAgICogYW5kIHdpbGwgYmUgaW5jbHVkZWQgaW4gc2VydmljZSBsZXZlbCBtZXRyaWNzIGFuZFxuICAgKiBkYXNoYm9hcmRzXG4gICAqL1xuICByZWFkb25seSBjcml0aWNhbDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGh0dHAgbWV0aG9kcyBzdXBwb3J0ZWQgYnkgdGhlIG9wZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cE1ldGhvZHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJZiB0aGV5IGhhdmUgYmVlbiBhZGRlZCwgdGhlIHByb3BlcnRpZXMgZm9yXG4gICAqIGNyZWF0aW5nIG5ldyBjYW5hcnkgdGVzdHMgb24gdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeVRlc3RQcm9wcz86IEFkZENhbmFyeVRlc3RQcm9wcztcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgaWYgeW91IGhhdmUgZGVmaW5lZCBDYW5hcnlUZXN0UHJvcHMgZm9yIHlvdXJcbiAgICogc2VydmljZSwgd2hpY2ggYXBwbGllcyB0byBhbGwgb3BlcmF0aW9ucywgYnV0IHlvdSB3YW50IHRvXG4gICAqIG9wdCBvdXQgb2YgY3JlYXRpbmcgdGhlIGNhbmFyeSB0ZXN0IGZvciB0aGlzIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgb3BlcmF0aW9uIGlzIG5vdCBvcHRlZCBvdXRcbiAgICovXG4gIHJlYWRvbmx5IG9wdE91dE9mU2VydmljZUNyZWF0ZWRDYW5hcnk/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IOperationMetricDetails } from './IOperationMetricDetails';
|
|
2
|
+
/**
|
|
3
|
+
* Details for operation metrics in one perspective, such as server side latency
|
|
4
|
+
*/
|
|
5
|
+
export interface IOperationAvailabilityMetricDetails extends IOperationMetricDetails {
|
|
6
|
+
/**
|
|
7
|
+
* The threshold for alarms associated with availability success metrics, for example if measuring
|
|
8
|
+
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
9
|
+
* if success drops below 99%.
|
|
10
|
+
*/
|
|
11
|
+
readonly successAlarmThreshold: number;
|
|
12
|
+
/**
|
|
13
|
+
* The threshold for alarms associated with availability fault metrics, for example if measuring
|
|
14
|
+
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
15
|
+
* if the fault rate goes above 1%.
|
|
16
|
+
*/
|
|
17
|
+
readonly faultAlarmThreshold: number;
|
|
18
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5cbi8qKlxuICogRGV0YWlscyBmb3Igb3BlcmF0aW9uIG1ldHJpY3MgaW4gb25lIHBlcnNwZWN0aXZlLCBzdWNoIGFzIHNlcnZlciBzaWRlIGxhdGVuY3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyBleHRlbmRzIElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIHtcbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggYXZhaWxhYmlsaXR5IHN1Y2Nlc3MgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAqIHN1Y2Nlc3MgcmF0ZSwgdGhlIHRocmVzaG9sZCBtYXkgYmUgOTksIG1lYW5pbmcgeW91IHdvdWxkIHdhbnQgYW4gYWxhcm0gdGhhdCB0cmlnZ2Vyc1xuICAgKiBpZiBzdWNjZXNzIGRyb3BzIGJlbG93IDk5JS5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NBbGFybVRocmVzaG9sZDogbnVtYmVyO1xuICAgIFxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBmb3IgYWxhcm1zIGFzc29jaWF0ZWQgd2l0aCBhdmFpbGFiaWxpdHkgZmF1bHQgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAqIGZhdWx0IHJhdGUsIHRoZSB0aHJlc2hvbGQgbWF5IGJlIDEsIG1lYW5pbmcgeW91IHdvdWxkIHdhbnQgYW4gYWxhcm0gdGhhdCB0cmlnZ2Vyc1xuICAgKiBpZiB0aGUgZmF1bHQgcmF0ZSBnb2VzIGFib3ZlIDElLlxuICAgKi9cbiAgcmVhZG9ubHkgZmF1bHRBbGFybVRocmVzaG9sZDogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Duration } from "aws-cdk-lib";
|
|
2
|
+
import { IOperationMetricDetails } from "./IOperationMetricDetails";
|
|
3
|
+
/**
|
|
4
|
+
* Details for operation metrics in one perspective, such as server side latency
|
|
5
|
+
*/
|
|
6
|
+
export interface IOperationLatencyMetricDetails extends IOperationMetricDetails {
|
|
7
|
+
/**
|
|
8
|
+
* The threshold for alarms associated with latency success metrics, for example if success
|
|
9
|
+
* latency exceeds 500 milliseconds
|
|
10
|
+
*/
|
|
11
|
+
readonly successAlarmThreshold: Duration;
|
|
12
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0lPcGVyYXRpb25MYXRlbmN5TWV0cmljRGV0YWlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSBcIi4vSU9wZXJhdGlvbk1ldHJpY0RldGFpbHNcIjtcblxuLyoqXG4gKiBEZXRhaWxzIGZvciBvcGVyYXRpb24gbWV0cmljcyBpbiBvbmUgcGVyc3BlY3RpdmUsIHN1Y2ggYXMgc2VydmVyIHNpZGUgbGF0ZW5jeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElPcGVyYXRpb25MYXRlbmN5TWV0cmljRGV0YWlscyBleHRlbmRzIElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGhyZXNob2xkIGZvciBhbGFybXMgYXNzb2NpYXRlZCB3aXRoIGxhdGVuY3kgc3VjY2VzcyBtZXRyaWNzLCBmb3IgZXhhbXBsZSBpZiBzdWNjZXNzXG4gICAgICogbGF0ZW5jeSBleGNlZWRzIDUwMCBtaWxsaXNlY29uZHNcbiAgICAgKi9cbiAgICByZWFkb25seSBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ6IER1cmF0aW9uO1xufSJdfQ==
|
|
@@ -58,18 +58,6 @@ export interface IOperationMetricDetails {
|
|
|
58
58
|
* The number of datapoints to alarm on for latency and availability alarms
|
|
59
59
|
*/
|
|
60
60
|
readonly datapointsToAlarm: number;
|
|
61
|
-
/**
|
|
62
|
-
* The threshold for alarms associated with success metrics, for example if measuring
|
|
63
|
-
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
64
|
-
* if success drops below 99%.
|
|
65
|
-
*/
|
|
66
|
-
readonly successAlarmThreshold: number;
|
|
67
|
-
/**
|
|
68
|
-
* The threshold for alarms associated with fault metrics, for example if measuring
|
|
69
|
-
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
70
|
-
* if the fault rate goes above 1%.
|
|
71
|
-
*/
|
|
72
|
-
readonly faultAlarmThreshold: number;
|
|
73
61
|
/**
|
|
74
62
|
* The metric dimensions for this operation, must be implemented
|
|
75
63
|
* as a concrete class by the user
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgVW5pdCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IE1ldHJpY0RpbWVuc2lvbnMgfSBmcm9tICcuL3Byb3BzL01ldHJpY0RpbWVuc2lvbnMnO1xuXG4vKipcbiAqIERldGFpbHMgZm9yIG9wZXJhdGlvbiBtZXRyaWNzIGluIG9uZSBwZXJzcGVjdGl2ZSwgc3VjaCBhcyBzZXJ2ZXIgc2lkZSBsYXRlbmN5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiB0aGVzZSBtZXRyaWMgZGV0YWlscyBhcmUgZm9yXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZFdhdGNoIG1ldHJpYyBuYW1lc3BhY2UgZm9yIHRoZXNlIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWVzcGFjZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXMgb2Ygc3VjY2VzcyBpbmRpY2F0aW5nIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NNZXRyaWNOYW1lczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lcyBvZiBmYXVsdCBpbmRpY2F0aW5nIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0TWV0cmljTmFtZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGlzdGljIHVzZWQgZm9yIGFsYXJtcywgZm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzIHRoaXMgc2hvdWxkXG4gICAqIGJlIFwiU3VtXCIsIGZvciBsYXRlbmN5IG1ldHJpY3MgaXQgY291bGQgc29tZXRoaW5nIGxpa2UgXCJwOTlcIiBvciBcInA5OS45XCJcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtU3RhdGlzdGljOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWNzIGZvciBzdWNjZXNzZXMgeW91IHdhbnQgdG8gYXBwZWFyIG9uIGRhc2hib2FyZHMsIGZvciBleGFtcGxlLCB3aXRoXG4gICAqIGxhdGVuY3kgbWV0cmljcywgeW91IG1pZ2h0IHdhbnQgcDUwLCBwOTksIGFuZCB0bTk5LiBGb3IgYXZhaWxhYmlsaXR5XG4gICAqIG1ldHJpY3MgdGhpcyB3aWxsIHR5cGljYWxseSBqdXN0IGJlIFwiU3VtXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzLCB0aGlzIHdpbGwgYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCB3aWxsIGJlIGp1c3QgXCJwOTlcIlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhcGhlZFN1Y2Nlc3NTdGF0aXN0aWNzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWNzIGZvciBmYXVsdHMgeW91IHdhbnQgdG8gYXBwZWFyIG9uIGRhc2hib2FyZHMsIGZvciBleGFtcGxlLCB3aXRoXG4gICAqIGxhdGVuY3kgbWV0cmljcywgeW91IG1pZ2h0IHdhbnQgcDUwLCBwOTksIGFuZCB0bTk5LiBGb3IgYXZhaWxhYmlsaXR5XG4gICAqIG1ldHJpY3MgdGhpcyB3aWxsIHR5cGljYWxseSBqdXN0IGJlIFwiU3VtXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzLCB0aGlzIHdpbGwgYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCB3aWxsIGJlIGp1c3QgXCJwOTlcIlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhcGhlZEZhdWx0U3RhdGlzdGljcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCB1c2VkIGZvciB0aGVzZSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSB1bml0OiBVbml0O1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIGZvciB0aGUgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kOiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBldmFsdWF0aW9uIHBlcmlvZHMgZm9yIGxhdGVuY3kgYW5kIGF2YWlsYWJpbHRpeSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRpb25QZXJpb2RzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF0YXBvaW50cyB0byBhbGFybSBvbiBmb3IgbGF0ZW5jeSBhbmQgYXZhaWxhYmlsaXR5IGFsYXJtc1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YXBvaW50c1RvQWxhcm06IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1ldHJpYyBkaW1lbnNpb25zIGZvciB0aGlzIG9wZXJhdGlvbiwgbXVzdCBiZSBpbXBsZW1lbnRlZFxuICAgKiBhcyBhIGNvbmNyZXRlIGNsYXNzIGJ5IHRoZSB1c2VyXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNEaW1lbnNpb25zOiBNZXRyaWNEaW1lbnNpb25zO1xufVxuIl19
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Duration } from 'aws-cdk-lib';
|
|
2
|
-
import { ILoadBalancerV2 } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
2
|
+
import { ILoadBalancerV2, ITargetGroup } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
3
3
|
import { IContributorInsightRuleDetails } from './IContributorInsightRuleDetails';
|
|
4
4
|
import { IOperation } from './IOperation';
|
|
5
|
-
import { IServiceMetricDetails } from './IServiceMetricDetails';
|
|
6
5
|
import { AddCanaryTestProps } from '../canaries/props/AddCanaryTestProps';
|
|
6
|
+
import { IServiceAvailabilityMetricDetails } from './IServiceAvailabilityMetricDetails';
|
|
7
|
+
import { IServiceLatencyMetricDetails } from './IServiceLatencyMetricDetails';
|
|
8
|
+
import { MinimumUnhealthyTargets } from '../utilities/MinimumUnhealthyTargets';
|
|
7
9
|
/**
|
|
8
10
|
* Represents a complete service composed of one or more operations
|
|
9
11
|
*/
|
|
@@ -41,6 +43,12 @@ export interface IService {
|
|
|
41
43
|
* alarm descriptions.
|
|
42
44
|
*/
|
|
43
45
|
readonly loadBalancer?: ILoadBalancerV2;
|
|
46
|
+
/**
|
|
47
|
+
* The target groups registered with the load balancer
|
|
48
|
+
*
|
|
49
|
+
* @default Anomalous and mitigated host metrics will not be included on dashboards
|
|
50
|
+
*/
|
|
51
|
+
readonly targetGroups?: ITargetGroup[];
|
|
44
52
|
/**
|
|
45
53
|
* Define these settings if you want to automatically add canary
|
|
46
54
|
* tests to your operations. Operations can individually opt out
|
|
@@ -55,13 +63,13 @@ export interface IService {
|
|
|
55
63
|
* for all operations unless specifically overridden in an
|
|
56
64
|
* operation definition.
|
|
57
65
|
*/
|
|
58
|
-
readonly defaultAvailabilityMetricDetails:
|
|
66
|
+
readonly defaultAvailabilityMetricDetails: IServiceAvailabilityMetricDetails;
|
|
59
67
|
/**
|
|
60
68
|
* The default settings that are used for availability metrics
|
|
61
69
|
* for all operations unless specifically overridden in an
|
|
62
70
|
* operation definition.
|
|
63
71
|
*/
|
|
64
|
-
readonly defaultLatencyMetricDetails:
|
|
72
|
+
readonly defaultLatencyMetricDetails: IServiceLatencyMetricDetails;
|
|
65
73
|
/**
|
|
66
74
|
* The default settings that are used for contributor insight
|
|
67
75
|
* rules.
|
|
@@ -69,6 +77,12 @@ export interface IService {
|
|
|
69
77
|
* @default - No defaults are provided and must be specified per operation
|
|
70
78
|
*/
|
|
71
79
|
readonly defaultContributorInsightRuleDetails?: IContributorInsightRuleDetails;
|
|
80
|
+
/**
|
|
81
|
+
* The minimum number of unhealthy targets to consider an AZ impaired
|
|
82
|
+
*
|
|
83
|
+
* @default Count of 2
|
|
84
|
+
*/
|
|
85
|
+
readonly minimumUnhealthyTargets?: MinimumUnhealthyTargets;
|
|
72
86
|
/**
|
|
73
87
|
* Adds an operation to this service
|
|
74
88
|
*/
|
package/lib/services/IService.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUxvYWRCYWxhbmNlclYyLCBJVGFyZ2V0R3JvdXAgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mic7XG5pbXBvcnQgeyBJQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgfSBmcm9tICcuL0lDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnLi9JT3BlcmF0aW9uJztcbmltcG9ydCB7IEFkZENhbmFyeVRlc3RQcm9wcyB9IGZyb20gJy4uL2NhbmFyaWVzL3Byb3BzL0FkZENhbmFyeVRlc3RQcm9wcyc7XG5pbXBvcnQgeyBJU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL0lTZXJ2aWNlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyc7XG5pbXBvcnQgeyBJU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzJztcbmltcG9ydCB7IE1pbmltdW1VbmhlYWx0aHlUYXJnZXRzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL01pbmltdW1VbmhlYWx0aHlUYXJnZXRzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29tcGxldGUgc2VydmljZSBjb21wb3NlZCBvZiBvbmUgb3IgbW9yZSBvcGVyYXRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNlcnZpY2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgeW91ciBzZXJ2aWNlXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBlbmRwb2ludCBmb3IgdGhpcyBzZXJ2aWNlLCBsaWtlIFwiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb21cIi4gT3BlcmF0aW9uIHBhdGhzIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhpcyBlbmRwb2ludCBmb3IgY2FuYXJ5IHRlc3RpbmcgdGhlIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmYXVsdCBjb3VudCB0aHJlc2hvbGQgdGhhdCBpbmRpY2F0ZXMgdGhlIHNlcnZpY2UgaXMgdW5oZWFsdGh5LiBUaGlzIGlzIGFuIGFic29sdXRlIHZhbHVlIG9mIGZhdWx0c1xuICAgKiBiZWluZyBwcm9kdWNlZCBieSBhbGwgY3JpdGljYWwgb3BlcmF0aW9ucyBpbiBhZ2dyZWdhdGUuXG4gICAqL1xuICByZWFkb25seSBmYXVsdENvdW50VGhyZXNob2xkOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0aGUgQXZhaWxhYmlsaXR5IFpvbmUgbmFtZXMgdXNlZCBieSB0aGlzIGFwcGxpY2F0aW9uXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lTmFtZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIGZvciB3aGljaCBtZXRyaWNzIGZvciB0aGUgc2VydmljZSBzaG91bGQgYmUgYWdncmVnYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kOiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbnMgdGhhdCBhcmUgcGFydCBvZiB0aGlzIHNlcnZpY2VcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbnM6IElPcGVyYXRpb25bXTtcblxuICAvKipcbiAgICogVGhlIGxvYWQgYmFsYW5jZXIgdGhpcyBzZXJ2aWNlIHNpdHMgYmVoaW5kXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gbG9hZCBiYWxhbmNlciBtZXRyaWNzIGFyZSBpbmNsdWRlZCBpblxuICAgKiBkYXNoYm9hcmRzIGFuZCBpdHMgQVJOIGlzIG5vdCBhZGRlZCB0byB0b3AgbGV2ZWwgQVpcbiAgICogYWxhcm0gZGVzY3JpcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyPzogSUxvYWRCYWxhbmNlclYyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IGdyb3VwcyByZWdpc3RlcmVkIHdpdGggdGhlIGxvYWQgYmFsYW5jZXJcbiAgICogXG4gICAqIEBkZWZhdWx0IEFub21hbG91cyBhbmQgbWl0aWdhdGVkIGhvc3QgbWV0cmljcyB3aWxsIG5vdCBiZSBpbmNsdWRlZCBvbiBkYXNoYm9hcmRzXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRHcm91cHM/OiBJVGFyZ2V0R3JvdXBbXTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZXNlIHNldHRpbmdzIGlmIHlvdSB3YW50IHRvIGF1dG9tYXRpY2FsbHkgYWRkIGNhbmFyeVxuICAgKiB0ZXN0cyB0byB5b3VyIG9wZXJhdGlvbnMuIE9wZXJhdGlvbnMgY2FuIGluZGl2aWR1YWxseSBvcHQgb3V0XG4gICAqIG9mIGNhbmFyeSB0ZXN0IGNyZWF0aW9uIGlmIHlvdSBkZWZpbmUgdGhpcyBzZXR0aW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEF1dG9tYXRpYyBjYW5hcnkgdGVzdHMgd2lsbCBub3QgYmUgY3JlYXRlZCBmb3JcbiAgICogb3BlcmF0aW9ucyBpbiB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlUZXN0UHJvcHM/OiBBZGRDYW5hcnlUZXN0UHJvcHM7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHNldHRpbmdzIHRoYXQgYXJlIHVzZWQgZm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzXG4gICAqIGZvciBhbGwgb3BlcmF0aW9ucyB1bmxlc3Mgc3BlY2lmaWNhbGx5IG92ZXJyaWRkZW4gaW4gYW5cbiAgICogb3BlcmF0aW9uIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsczogSVNlcnZpY2VBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5ncyB0aGF0IGFyZSB1c2VkIGZvciBhdmFpbGFiaWxpdHkgbWV0cmljc1xuICAgKiBmb3IgYWxsIG9wZXJhdGlvbnMgdW5sZXNzIHNwZWNpZmljYWxseSBvdmVycmlkZGVuIGluIGFuXG4gICAqIG9wZXJhdGlvbiBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdExhdGVuY3lNZXRyaWNEZXRhaWxzOiBJU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5ncyB0aGF0IGFyZSB1c2VkIGZvciBjb250cmlidXRvciBpbnNpZ2h0XG4gICAqIHJ1bGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlZmF1bHRzIGFyZSBwcm92aWRlZCBhbmQgbXVzdCBiZSBzcGVjaWZpZWQgcGVyIG9wZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzPzogSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgdW5oZWFsdGh5IHRhcmdldHMgdG8gY29uc2lkZXIgYW4gQVogaW1wYWlyZWRcbiAgICogXG4gICAqIEBkZWZhdWx0IENvdW50IG9mIDJcbiAgICovXG4gIHJlYWRvbmx5IG1pbmltdW1VbmhlYWx0aHlUYXJnZXRzPzogTWluaW11bVVuaGVhbHRoeVRhcmdldHM7XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb3BlcmF0aW9uIHRvIHRoaXMgc2VydmljZVxuICAgKi9cbiAgYWRkT3BlcmF0aW9uKG9wZXJhdGlvbjogSU9wZXJhdGlvbik6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IServiceMetricDetails } from "./IServiceMetricDetails";
|
|
2
|
+
/**
|
|
3
|
+
* Details for the defaults used in a service for metrics in one perspective, such as server side latency
|
|
4
|
+
*/
|
|
5
|
+
export interface IServiceAvailabilityMetricDetails extends IServiceMetricDetails {
|
|
6
|
+
/**
|
|
7
|
+
* The threshold for alarms associated with availability success metrics, for example if measuring
|
|
8
|
+
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
9
|
+
* if success drops below 99%.
|
|
10
|
+
*/
|
|
11
|
+
readonly successAlarmThreshold: number;
|
|
12
|
+
/**
|
|
13
|
+
* The threshold for alarms associated with availability fault metrics, for example if measuring
|
|
14
|
+
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
15
|
+
* if the fault rate goes above 1%.
|
|
16
|
+
*/
|
|
17
|
+
readonly faultAlarmThreshold: number;
|
|
18
|
+
}
|