cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
56 lines • 13 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenSearchServerlessMetricFactory = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const common_1 = require("../../common");
const OpenSearchServerlessNamespace = "AWS/AOSS";
/**
* @experimental This is subject to change if an L2 construct becomes available.
*
* @see https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html
*/
class OpenSearchServerlessMetricFactory extends common_1.BaseMetricFactory {
constructor(metricFactory, props) {
super(metricFactory, props);
this.rateComputationMethod =
props.rateComputationMethod ?? common_1.RateComputationMethod.AVERAGE;
this.dimensionsMap = {
ClientId: this.account ?? aws_cdk_lib_1.Stack.of(props.collection).account,
CollectionId: props.collection.attrId,
CollectionName: props.collection.name,
};
}
metricSearchRequestErrors() {
return this.metricFactory.createMetric("SearchRequestErrors", common_1.MetricStatistic.SUM, "SearchRequestErrors", this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metricSearchRequestLatency(statistic) {
return this.metricFactory.createMetric("SearchRequestLatency", common_1.getLatencyTypeStatistic(statistic), `SearchRequestLatency ${common_1.getLatencyTypeLabel(statistic)}`, this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metricIngestionRequestSuccess() {
return this.metricFactory.createMetric("IngestionRequestSuccess", common_1.MetricStatistic.SUM, "IngestionRequestSuccess", this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metricIngestionRequestErrors() {
return this.metricFactory.createMetric("IngestionRequestErrors", common_1.MetricStatistic.SUM, "IngestionRequestErrors", this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metricIngestionRequestLatency(statistic) {
return this.metricFactory.createMetric("IngestionRequestLatency", common_1.getLatencyTypeStatistic(statistic), `IngestionRequestLatency ${common_1.getLatencyTypeLabel(statistic)}`, this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metric4xxCount() {
return this.metricFactory.createMetric("4xx", common_1.MetricStatistic.SUM, "4xx", this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metric4xxRate() {
return this.metricFactory.toRate(this.metric4xxCount(), this.rateComputationMethod, false, "errors");
}
metric5xxCount() {
return this.metricFactory.createMetric("5xx", common_1.MetricStatistic.SUM, "5xx", this.dimensionsMap, undefined, OpenSearchServerlessNamespace, undefined, this.region, this.account);
}
metric5xxRate() {
return this.metricFactory.toRate(this.metric5xxCount(), this.rateComputationMethod, false, "faults");
}
}
exports.OpenSearchServerlessMetricFactory = OpenSearchServerlessMetricFactory;
_a = JSII_RTTI_SYMBOL_1;
OpenSearchServerlessMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.OpenSearchServerlessMetricFactory", version: "9.19.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NNZXRyaWNGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT3BlblNlYXJjaFNlcnZlcmxlc3NNZXRyaWNGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBSXBDLHlDQVVzQjtBQUV0QixNQUFNLDZCQUE2QixHQUFHLFVBQVUsQ0FBQztBQVlqRDs7OztHQUlHO0FBQ0gsTUFBYSxpQ0FBa0MsU0FBUSwwQkFBeUQ7SUFJOUcsWUFDRSxhQUE0QixFQUM1QixLQUE2QztRQUU3QyxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxxQkFBcUI7WUFDeEIsS0FBSyxDQUFDLHFCQUFxQixJQUFJLDhCQUFxQixDQUFDLE9BQU8sQ0FBQztRQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPO1lBQzVELFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU07WUFDckMsY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtTQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxxQkFBcUIsRUFDckIsd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLHFCQUFxQixFQUNyQixJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxTQUFzQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxzQkFBc0IsRUFDdEIsZ0NBQXVCLENBQUMsU0FBUyxDQUFDLEVBQ2xDLHdCQUF3Qiw0QkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUN4RCxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMseUJBQXlCLEVBQ3pCLHdCQUFlLENBQUMsR0FBRyxFQUNuQix5QkFBeUIsRUFDekIsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULDZCQUE2QixFQUM3QixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLHdCQUF3QixFQUN4Qix3QkFBZSxDQUFDLEdBQUcsRUFDbkIsd0JBQXdCLEVBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCw2QkFBNkIsRUFDN0IsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELDZCQUE2QixDQUMzQixTQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyx5QkFBeUIsRUFDekIsZ0NBQXVCLENBQUMsU0FBUyxDQUFDLEVBQ2xDLDJCQUEyQiw0QkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUMzRCxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsS0FBSyxFQUNMLHdCQUFlLENBQUMsR0FBRyxFQUNuQixLQUFLLEVBQ0wsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULDZCQUE2QixFQUM3QixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFDckIsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixLQUFLLEVBQ0wsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLEtBQUssRUFDTCx3QkFBZSxDQUFDLEdBQUcsRUFDbkIsS0FBSyxFQUNMLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCw2QkFBNkIsRUFDN0IsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLEVBQ3JCLElBQUksQ0FBQyxxQkFBcUIsRUFDMUIsS0FBSyxFQUNMLFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQzs7QUF2SUgsOEVBd0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB0eXBlIHsgRGltZW5zaW9uc01hcCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHR5cGUgeyBDZm5Db2xsZWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuXG5pbXBvcnQge1xuICBCYXNlTWV0cmljRmFjdG9yeVByb3BzLFxuICBSYXRlQ29tcHV0YXRpb25NZXRob2QsXG4gIEJhc2VNZXRyaWNGYWN0b3J5LFxuICBNZXRyaWNGYWN0b3J5LFxuICBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICBNZXRyaWNTdGF0aXN0aWMsXG4gIExhdGVuY3lUeXBlLFxuICBnZXRMYXRlbmN5VHlwZVN0YXRpc3RpYyxcbiAgZ2V0TGF0ZW5jeVR5cGVMYWJlbCxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5jb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc05hbWVzcGFjZSA9IFwiQVdTL0FPU1NcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuU2VhcmNoU2VydmVybGVzc01ldHJpY0ZhY3RvcnlQcm9wc1xuICBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMge1xuICByZWFkb25seSBjb2xsZWN0aW9uOiBDZm5Db2xsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIHtAbGluayBSYXRlQ29tcHV0YXRpb25NZXRob2QuQVZFUkFHRX1cbiAgICovXG4gIHJlYWRvbmx5IHJhdGVDb21wdXRhdGlvbk1ldGhvZD86IFJhdGVDb21wdXRhdGlvbk1ldGhvZDtcbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgaXMgc3ViamVjdCB0byBjaGFuZ2UgaWYgYW4gTDIgY29uc3RydWN0IGJlY29tZXMgYXZhaWxhYmxlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL29wZW5zZWFyY2gtc2VydmljZS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbW9uaXRvcmluZy1jbG91ZHdhdGNoLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzTWV0cmljRmFjdG9yeSBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5PE9wZW5TZWFyY2hTZXJ2ZXJsZXNzTWV0cmljRmFjdG9yeVByb3BzPiB7XG4gIHByb3RlY3RlZCByZWFkb25seSByYXRlQ29tcHV0YXRpb25NZXRob2Q6IFJhdGVDb21wdXRhdGlvbk1ldGhvZDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpbWVuc2lvbnNNYXA6IERpbWVuc2lvbnNNYXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWV0cmljRmFjdG9yeTogTWV0cmljRmFjdG9yeSxcbiAgICBwcm9wczogT3BlblNlYXJjaFNlcnZlcmxlc3NNZXRyaWNGYWN0b3J5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKG1ldHJpY0ZhY3RvcnksIHByb3BzKTtcblxuICAgIHRoaXMucmF0ZUNvbXB1dGF0aW9uTWV0aG9kID1cbiAgICAgIHByb3BzLnJhdGVDb21wdXRhdGlvbk1ldGhvZCA/PyBSYXRlQ29tcHV0YXRpb25NZXRob2QuQVZFUkFHRTtcbiAgICB0aGlzLmRpbWVuc2lvbnNNYXAgPSB7XG4gICAgICBDbGllbnRJZDogdGhpcy5hY2NvdW50ID8/IFN0YWNrLm9mKHByb3BzLmNvbGxlY3Rpb24pLmFjY291bnQsXG4gICAgICBDb2xsZWN0aW9uSWQ6IHByb3BzLmNvbGxlY3Rpb24uYXR0cklkLFxuICAgICAgQ29sbGVjdGlvbk5hbWU6IHByb3BzLmNvbGxlY3Rpb24ubmFtZSxcbiAgICB9O1xuICB9XG5cbiAgbWV0cmljU2VhcmNoUmVxdWVzdEVycm9ycygpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIFwiU2VhcmNoUmVxdWVzdEVycm9yc1wiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiU2VhcmNoUmVxdWVzdEVycm9yc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgT3BlblNlYXJjaFNlcnZlcmxlc3NOYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljU2VhcmNoUmVxdWVzdExhdGVuY3koc3RhdGlzdGljOiBMYXRlbmN5VHlwZSk6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgXCJTZWFyY2hSZXF1ZXN0TGF0ZW5jeVwiLFxuICAgICAgZ2V0TGF0ZW5jeVR5cGVTdGF0aXN0aWMoc3RhdGlzdGljKSxcbiAgICAgIGBTZWFyY2hSZXF1ZXN0TGF0ZW5jeSAke2dldExhdGVuY3lUeXBlTGFiZWwoc3RhdGlzdGljKX1gLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgT3BlblNlYXJjaFNlcnZlcmxlc3NOYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljSW5nZXN0aW9uUmVxdWVzdFN1Y2Nlc3MoKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIkluZ2VzdGlvblJlcXVlc3RTdWNjZXNzXCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuU1VNLFxuICAgICAgXCJJbmdlc3Rpb25SZXF1ZXN0U3VjY2Vzc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgT3BlblNlYXJjaFNlcnZlcmxlc3NOYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljSW5nZXN0aW9uUmVxdWVzdEVycm9ycygpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIFwiSW5nZXN0aW9uUmVxdWVzdEVycm9yc1wiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiSW5nZXN0aW9uUmVxdWVzdEVycm9yc1wiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgT3BlblNlYXJjaFNlcnZlcmxlc3NOYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljSW5nZXN0aW9uUmVxdWVzdExhdGVuY3koXG4gICAgc3RhdGlzdGljOiBMYXRlbmN5VHlwZSxcbiAgKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIkluZ2VzdGlvblJlcXVlc3RMYXRlbmN5XCIsXG4gICAgICBnZXRMYXRlbmN5VHlwZVN0YXRpc3RpYyhzdGF0aXN0aWMpLFxuICAgICAgYEluZ2VzdGlvblJlcXVlc3RMYXRlbmN5ICR7Z2V0TGF0ZW5jeVR5cGVMYWJlbChzdGF0aXN0aWMpfWAsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBPcGVuU2VhcmNoU2VydmVybGVzc05hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cblxuICBtZXRyaWM0eHhDb3VudCgpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIFwiNHh4XCIsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuU1VNLFxuICAgICAgXCI0eHhcIixcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzTmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpYzR4eFJhdGUoKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS50b1JhdGUoXG4gICAgICB0aGlzLm1ldHJpYzR4eENvdW50KCksXG4gICAgICB0aGlzLnJhdGVDb21wdXRhdGlvbk1ldGhvZCxcbiAgICAgIGZhbHNlLFxuICAgICAgXCJlcnJvcnNcIixcbiAgICApO1xuICB9XG5cbiAgbWV0cmljNXh4Q291bnQoKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBcIjV4eFwiLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiNXh4XCIsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBPcGVuU2VhcmNoU2VydmVybGVzc05hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cblxuICBtZXRyaWM1eHhSYXRlKCk6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkudG9SYXRlKFxuICAgICAgdGhpcy5tZXRyaWM1eHhDb3VudCgpLFxuICAgICAgdGhpcy5yYXRlQ29tcHV0YXRpb25NZXRob2QsXG4gICAgICBmYWxzZSxcbiAgICAgIFwiZmF1bHRzXCIsXG4gICAgKTtcbiAgfVxufVxuIl19