cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
50 lines • 10.3 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KinesisDataStreamConsumerMetricFactory = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const common_1 = require("../../common");
const DataStreamNamespace = "AWS/Kinesis";
/**
* Metrics for a single enhanced fan-out (EFO) consumer of a Kinesis data stream.
* Dimensions: {StreamName, ConsumerName}.
*
* @see https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-consumer
*/
class KinesisDataStreamConsumerMetricFactory extends common_1.BaseMetricFactory {
constructor(metricFactory, props) {
super(metricFactory, props);
this.dimensionsMap = {
StreamName: props.streamName,
ConsumerName: props.consumerName,
};
}
/** Max lag (ms) for events delivered to this EFO consumer. */
metricSubscribeToShardEventMillisBehindLatestMaxMs() {
return this.metricFactory.createMetric("SubscribeToShardEvent.MillisBehindLatest", common_1.MetricStatistic.MAX, "Millis Behind Latest", this.dimensionsMap, undefined, DataStreamNamespace, undefined, this.region, this.account);
}
/** Rate at which SubscribeToShard calls for this consumer are throttled. */
metricSubscribeToShardRateExceededAverage() {
return this.metricFactory.createMetric("SubscribeToShard.RateExceeded", common_1.MetricStatistic.AVERAGE, "Rate Exceeded", this.dimensionsMap, undefined, DataStreamNamespace, undefined, this.region, this.account);
}
/** Success rate of SubscribeToShard calls (connect handshake). */
metricSubscribeToShardSuccessAverage() {
return this.metricFactory.createMetric("SubscribeToShard.Success", common_1.MetricStatistic.AVERAGE, "Subscribe Success", this.dimensionsMap, undefined, DataStreamNamespace, undefined, this.region, this.account);
}
/** Success rate of individual SubscribeToShardEvent deliveries within an open subscription. */
metricSubscribeToShardEventSuccessAverage() {
return this.metricFactory.createMetric("SubscribeToShardEvent.Success", common_1.MetricStatistic.AVERAGE, "Event Success", this.dimensionsMap, undefined, DataStreamNamespace, undefined, this.region, this.account);
}
/** Records delivered to this consumer. */
metricSubscribeToShardEventRecordsSumCount() {
return this.metricFactory.createMetric("SubscribeToShardEvent.Records", common_1.MetricStatistic.SUM, "Records", this.dimensionsMap, undefined, DataStreamNamespace, undefined, this.region, this.account);
}
/** Bytes delivered to this consumer. */
metricSubscribeToShardEventSumBytes() {
return this.metricFactory.createMetric("SubscribeToShardEvent.Bytes", common_1.MetricStatistic.SUM, "Bytes", this.dimensionsMap, undefined, DataStreamNamespace, undefined, this.region, this.account);
}
}
exports.KinesisDataStreamConsumerMetricFactory = KinesisDataStreamConsumerMetricFactory;
_a = JSII_RTTI_SYMBOL_1;
KinesisDataStreamConsumerMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory", version: "10.0.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2luZXNpc0RhdGFTdHJlYW1Db25zdW1lck1ldHJpY0ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJLaW5lc2lzRGF0YVN0cmVhbUNvbnN1bWVyTWV0cmljRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlDQUtzQjtBQUV0QixNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQztBQVExQzs7Ozs7R0FLRztBQUNILE1BQWEsc0NBQXVDLFNBQVEsMEJBQWlCO0lBRzNFLFlBQ0UsYUFBNEIsRUFDNUIsS0FBa0Q7UUFFbEQsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsa0RBQWtEO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLDBDQUEwQyxFQUMxQyx3QkFBZSxDQUFDLEdBQUcsRUFDbkIsc0JBQXNCLEVBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELDRFQUE0RTtJQUM1RSx5Q0FBeUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsK0JBQStCLEVBQy9CLHdCQUFlLENBQUMsT0FBTyxFQUN2QixlQUFlLEVBQ2YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsa0VBQWtFO0lBQ2xFLG9DQUFvQztRQUNsQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQywwQkFBMEIsRUFDMUIsd0JBQWUsQ0FBQyxPQUFPLEVBQ3ZCLG1CQUFtQixFQUNuQixJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCwrRkFBK0Y7SUFDL0YseUNBQXlDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLCtCQUErQixFQUMvQix3QkFBZSxDQUFDLE9BQU8sRUFDdkIsZUFBZSxFQUNmLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELDBDQUEwQztJQUMxQywwQ0FBMEM7UUFDeEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsK0JBQStCLEVBQy9CLHdCQUFlLENBQUMsR0FBRyxFQUNuQixTQUFTLEVBQ1QsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLG1DQUFtQztRQUNqQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyw2QkFBNkIsRUFDN0Isd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLE9BQU8sRUFDUCxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7O0FBdEdILHdGQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpbWVuc2lvbnNNYXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuaW1wb3J0IHtcbiAgQmFzZU1ldHJpY0ZhY3RvcnksXG4gIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMsXG4gIE1ldHJpY0ZhY3RvcnksXG4gIE1ldHJpY1N0YXRpc3RpYyxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5jb25zdCBEYXRhU3RyZWFtTmFtZXNwYWNlID0gXCJBV1MvS2luZXNpc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNEYXRhU3RyZWFtQ29uc3VtZXJNZXRyaWNGYWN0b3J5UHJvcHNcbiAgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeVByb3BzIHtcbiAgcmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjb25zdW1lck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBNZXRyaWNzIGZvciBhIHNpbmdsZSBlbmhhbmNlZCBmYW4tb3V0IChFRk8pIGNvbnN1bWVyIG9mIGEgS2luZXNpcyBkYXRhIHN0cmVhbS5cbiAqIERpbWVuc2lvbnM6IHtTdHJlYW1OYW1lLCBDb25zdW1lck5hbWV9LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0cmVhbXMvbGF0ZXN0L2Rldi9tb25pdG9yaW5nLXdpdGgtY2xvdWR3YXRjaC5odG1sI2tpbmVzaXMtbWV0cmljcy1jb25zdW1lclxuICovXG5leHBvcnQgY2xhc3MgS2luZXNpc0RhdGFTdHJlYW1Db25zdW1lck1ldHJpY0ZhY3RvcnkgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBkaW1lbnNpb25zTWFwOiBEaW1lbnNpb25zTWFwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1ldHJpY0ZhY3Rvcnk6IE1ldHJpY0ZhY3RvcnksXG4gICAgcHJvcHM6IEtpbmVzaXNEYXRhU3RyZWFtQ29uc3VtZXJNZXRyaWNGYWN0b3J5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKG1ldHJpY0ZhY3RvcnksIHByb3BzKTtcbiAgICB0aGlzLmRpbWVuc2lvbnNNYXAgPSB7XG4gICAgICBTdHJlYW1OYW1lOiBwcm9wcy5zdHJlYW1OYW1lLFxuICAgICAgQ29uc3VtZXJOYW1lOiBwcm9wcy5jb25zdW1lck5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBNYXggbGFnIChtcykgZm9yIGV2ZW50cyBkZWxpdmVyZWQgdG8gdGhpcyBFRk8gY29uc3VtZXIuICovXG4gIG1ldHJpY1N1YnNjcmliZVRvU2hhcmRFdmVudE1pbGxpc0JlaGluZExhdGVzdE1heE1zKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJTdWJzY3JpYmVUb1NoYXJkRXZlbnQuTWlsbGlzQmVoaW5kTGF0ZXN0XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuTUFYLFxuICAgICAgXCJNaWxsaXMgQmVoaW5kIExhdGVzdFwiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgRGF0YVN0cmVhbU5hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cblxuICAvKiogUmF0ZSBhdCB3aGljaCBTdWJzY3JpYmVUb1NoYXJkIGNhbGxzIGZvciB0aGlzIGNvbnN1bWVyIGFyZSB0aHJvdHRsZWQuICovXG4gIG1ldHJpY1N1YnNjcmliZVRvU2hhcmRSYXRlRXhjZWVkZWRBdmVyYWdlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJTdWJzY3JpYmVUb1NoYXJkLlJhdGVFeGNlZWRlZFwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLkFWRVJBR0UsXG4gICAgICBcIlJhdGUgRXhjZWVkZWRcIixcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIERhdGFTdHJlYW1OYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgLyoqIFN1Y2Nlc3MgcmF0ZSBvZiBTdWJzY3JpYmVUb1NoYXJkIGNhbGxzIChjb25uZWN0IGhhbmRzaGFrZSkuICovXG4gIG1ldHJpY1N1YnNjcmliZVRvU2hhcmRTdWNjZXNzQXZlcmFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIFwiU3Vic2NyaWJlVG9TaGFyZC5TdWNjZXNzXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiU3Vic2NyaWJlIFN1Y2Nlc3NcIixcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIERhdGFTdHJlYW1OYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgLyoqIFN1Y2Nlc3MgcmF0ZSBvZiBpbmRpdmlkdWFsIFN1YnNjcmliZVRvU2hhcmRFdmVudCBkZWxpdmVyaWVzIHdpdGhpbiBhbiBvcGVuIHN1YnNjcmlwdGlvbi4gKi9cbiAgbWV0cmljU3Vic2NyaWJlVG9TaGFyZEV2ZW50U3VjY2Vzc0F2ZXJhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIlN1YnNjcmliZVRvU2hhcmRFdmVudC5TdWNjZXNzXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuQVZFUkFHRSxcbiAgICAgIFwiRXZlbnQgU3VjY2Vzc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgRGF0YVN0cmVhbU5hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cblxuICAvKiogUmVjb3JkcyBkZWxpdmVyZWQgdG8gdGhpcyBjb25zdW1lci4gKi9cbiAgbWV0cmljU3Vic2NyaWJlVG9TaGFyZEV2ZW50UmVjb3Jkc1N1bUNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJTdWJzY3JpYmVUb1NoYXJkRXZlbnQuUmVjb3Jkc1wiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiUmVjb3Jkc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgRGF0YVN0cmVhbU5hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cblxuICAvKiogQnl0ZXMgZGVsaXZlcmVkIHRvIHRoaXMgY29uc3VtZXIuICovXG4gIG1ldHJpY1N1YnNjcmliZVRvU2hhcmRFdmVudFN1bUJ5dGVzKCkge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJTdWJzY3JpYmVUb1NoYXJkRXZlbnQuQnl0ZXNcIixcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5TVU0sXG4gICAgICBcIkJ5dGVzXCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBEYXRhU3RyZWFtTmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxufVxuIl19