package.dist.src.config.middleware.experimental-middleware-factory.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sdk Show documentation
Show all versions of sdk Show documentation
Client SDK for Momento services
The newest version!
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MiddlewareFactory = void 0;
const experimental_event_loop_perf_middleware_1 = require("./experimental-event-loop-perf-middleware");
const experimental_metrics_logging_middleware_1 = require("./experimental-metrics-logging-middleware");
const experimental_active_request_count_middleware_1 = require("./experimental-active-request-count-middleware");
const experimental_metrics_csv_middleware_1 = require("./experimental-metrics-csv-middleware");
const experimental_garbage_collection_middleware_1 = require("./experimental-garbage-collection-middleware");
// Static class encapsulating the factory functionality
class MiddlewareFactory {
static createMetricsMiddlewares(loggerFactory, options) {
const middlewares = [];
if (options.eventLoopMetricsLog === true) {
middlewares.push(new experimental_event_loop_perf_middleware_1.ExperimentalEventLoopPerformanceMetricsMiddleware(loggerFactory));
}
if (options.perRequestMetricsCSVPath !== undefined) {
middlewares.push(new experimental_metrics_csv_middleware_1.ExperimentalMetricsCsvMiddleware(options.perRequestMetricsCSVPath, loggerFactory));
}
else if (options.perRequestMetricsLog === true) {
middlewares.push(new experimental_metrics_logging_middleware_1.ExperimentalMetricsLoggingMiddleware(loggerFactory));
}
if (options.activeRequestCountMetricsLog === true) {
middlewares.push(new experimental_active_request_count_middleware_1.ExperimentalActiveRequestCountLoggingMiddleware(loggerFactory));
}
if (options.garbageCollectionMetricsLog === true) {
middlewares.push(new experimental_garbage_collection_middleware_1.ExperimentalGarbageCollectionPerformanceMetricsMiddleware(loggerFactory));
}
return middlewares;
}
}
exports.MiddlewareFactory = MiddlewareFactory;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudGFsLW1pZGRsZXdhcmUtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25maWcvbWlkZGxld2FyZS9leHBlcmltZW50YWwtbWlkZGxld2FyZS1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHVHQUE0RztBQUM1Ryx1R0FBK0Y7QUFDL0YsaUhBQStHO0FBRS9HLCtGQUF1RjtBQUN2Riw2R0FBdUg7QUE2QnZILHVEQUF1RDtBQUN2RCxNQUFhLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsd0JBQXdCLENBQ3BDLGFBQW1DLEVBQ25DLE9BQTZDO1FBRTdDLE1BQU0sV0FBVyxHQUFpQixFQUFFLENBQUM7UUFFckMsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEtBQUssSUFBSSxFQUFFO1lBQ3hDLFdBQVcsQ0FBQyxJQUFJLENBQ2QsSUFBSSwyRkFBaUQsQ0FBQyxhQUFhLENBQUMsQ0FDckUsQ0FBQztTQUNIO1FBQ0QsSUFBSSxPQUFPLENBQUMsd0JBQXdCLEtBQUssU0FBUyxFQUFFO1lBQ2xELFdBQVcsQ0FBQyxJQUFJLENBQ2QsSUFBSSxzRUFBZ0MsQ0FDbEMsT0FBTyxDQUFDLHdCQUF3QixFQUNoQyxhQUFhLENBQ2QsQ0FDRixDQUFDO1NBQ0g7YUFBTSxJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLEVBQUU7WUFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLDhFQUFvQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDM0U7UUFFRCxJQUFJLE9BQU8sQ0FBQyw0QkFBNEIsS0FBSyxJQUFJLEVBQUU7WUFDakQsV0FBVyxDQUFDLElBQUksQ0FDZCxJQUFJLDhGQUErQyxDQUFDLGFBQWEsQ0FBQyxDQUNuRSxDQUFDO1NBQ0g7UUFFRCxJQUFJLE9BQU8sQ0FBQywyQkFBMkIsS0FBSyxJQUFJLEVBQUU7WUFDaEQsV0FBVyxDQUFDLElBQUksQ0FDZCxJQUFJLHNHQUF5RCxDQUMzRCxhQUFhLENBQ2QsQ0FDRixDQUFDO1NBQ0g7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUF2Q0QsOENBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhlIG9wdGlvbnMgaW50ZXJmYWNlIGZvciBjbGFyaXR5IGFuZCB0eXBlIHNhZmV0eVxuaW1wb3J0IHtNb21lbnRvTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGdvbW9tZW50by9zZGstY29yZSc7XG5pbXBvcnQge0V4cGVyaW1lbnRhbEV2ZW50TG9vcFBlcmZvcm1hbmNlTWV0cmljc01pZGRsZXdhcmV9IGZyb20gJy4vZXhwZXJpbWVudGFsLWV2ZW50LWxvb3AtcGVyZi1taWRkbGV3YXJlJztcbmltcG9ydCB7RXhwZXJpbWVudGFsTWV0cmljc0xvZ2dpbmdNaWRkbGV3YXJlfSBmcm9tICcuL2V4cGVyaW1lbnRhbC1tZXRyaWNzLWxvZ2dpbmctbWlkZGxld2FyZSc7XG5pbXBvcnQge0V4cGVyaW1lbnRhbEFjdGl2ZVJlcXVlc3RDb3VudExvZ2dpbmdNaWRkbGV3YXJlfSBmcm9tICcuL2V4cGVyaW1lbnRhbC1hY3RpdmUtcmVxdWVzdC1jb3VudC1taWRkbGV3YXJlJztcbmltcG9ydCB7TWlkZGxld2FyZX0gZnJvbSAnLi9taWRkbGV3YXJlJztcbmltcG9ydCB7RXhwZXJpbWVudGFsTWV0cmljc0Nzdk1pZGRsZXdhcmV9IGZyb20gJy4vZXhwZXJpbWVudGFsLW1ldHJpY3MtY3N2LW1pZGRsZXdhcmUnO1xuaW1wb3J0IHtFeHBlcmltZW50YWxHYXJiYWdlQ29sbGVjdGlvblBlcmZvcm1hbmNlTWV0cmljc01pZGRsZXdhcmV9IGZyb20gJy4vZXhwZXJpbWVudGFsLWdhcmJhZ2UtY29sbGVjdGlvbi1taWRkbGV3YXJlJztcblxuaW50ZXJmYWNlIEV4cGVyaW1lbnRhbE1ldHJpY3NNaWRkbGV3YXJlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIGVtaXQgYSBwZXJpb2RpYyBKU09OIGxvZyBmb3IgdGhlIGV2ZW50IGxvb3AgcHJvZmlsZSBvZiB0aGUgbm9kZUpTIHByb2Nlc3MuXG4gICAqL1xuICBldmVudExvb3BNZXRyaWNzTG9nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgZW1pdCBhIEpTT04gbG9nIGR1cmluZyBtYWpvciBHQyBldmVudHMsIGFzIG9ic2VydmVkIGJ5IG5vZGUncyBwZXJmX2hvb2tzLlxuICAgKi9cbiAgZ2FyYmFnZUNvbGxlY3Rpb25NZXRyaWNzTG9nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgZW1pdCBhIEpTT04gbG9nIGZvciBlYWNoIE1vbWVudG8gcmVxdWVzdCwgdGhhdCBpbmNsdWRlcyB0aGUgY2xpZW50LXNpZGUgbGF0ZW5jeVxuICAgKiBhbW9uZyBvdGhlciByZXF1ZXN0IHByb2ZpbGUgc3RhdGlzdGljcy5cbiAgICovXG4gIHBlclJlcXVlc3RNZXRyaWNzTG9nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgZW1pdCBhIHBlcmlvZGljIEpTT04gbG9nIGZvciBhY3RpdmUgTW9tZW50byByZXF1ZXN0IGNvdW50IG9uIHRoZSBub2RlSlMgcHJvY2Vzc1xuICAgKiBhcyBvYnNlcnZlZCB3aGVuIHRoZSBwZXJpb2RpYyB0YXNrIHdha2VzIHVwLiBUaGlzIGNhbiBiZSBoYW5keSB3aXRoIGV2ZW50TG9vcE1ldHJpY3NMb2cgdG8gb2JzZXJ2ZSB0aGUgZXZlbnQgbG9vcFxuICAgKiBkZWxheSBhZ2FpbnN0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IGNvbm5lY3Rpb25zIHRoZSBhcHBsaWNhdGlvbiBpcyBvYnNlcnZpbmcuXG4gICAqL1xuICBhY3RpdmVSZXF1ZXN0Q291bnRNZXRyaWNzTG9nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgd3JpdGUgYSBDU1YgcmVjcmQgZm9yIGVhY2ggTW9tZW50byByZXF1ZXN0LCB0aGF0IGluY2x1ZGVzIHRoZSBjbGllbnQtc2lkZSBsYXRlbmN5XG4gICAqIGFtb25nIG90aGVyIHJlcXVlc3QgcHJvZmlsZSBzdGF0aXN0aWNzLiBUaGUgcGF0aCBpcyB0aGUgZmlsZSBwYXRoIG9uIHlvdXIgZGlzayB3aGVyZSB0aGUgQ1NWIGZpbGUgaXMgc3RvcmVkLlxuICAgKi9cbiAgcGVyUmVxdWVzdE1ldHJpY3NDU1ZQYXRoPzogc3RyaW5nO1xufVxuXG4vLyBTdGF0aWMgY2xhc3MgZW5jYXBzdWxhdGluZyB0aGUgZmFjdG9yeSBmdW5jdGlvbmFsaXR5XG5leHBvcnQgY2xhc3MgTWlkZGxld2FyZUZhY3Rvcnkge1xuICBwdWJsaWMgc3RhdGljIGNyZWF0ZU1ldHJpY3NNaWRkbGV3YXJlcyhcbiAgICBsb2dnZXJGYWN0b3J5OiBNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbiAgICBvcHRpb25zOiBFeHBlcmltZW50YWxNZXRyaWNzTWlkZGxld2FyZU9wdGlvbnNcbiAgKTogTWlkZGxld2FyZVtdIHtcbiAgICBjb25zdCBtaWRkbGV3YXJlczogTWlkZGxld2FyZVtdID0gW107XG5cbiAgICBpZiAob3B0aW9ucy5ldmVudExvb3BNZXRyaWNzTG9nID09PSB0cnVlKSB7XG4gICAgICBtaWRkbGV3YXJlcy5wdXNoKFxuICAgICAgICBuZXcgRXhwZXJpbWVudGFsRXZlbnRMb29wUGVyZm9ybWFuY2VNZXRyaWNzTWlkZGxld2FyZShsb2dnZXJGYWN0b3J5KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMucGVyUmVxdWVzdE1ldHJpY3NDU1ZQYXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1pZGRsZXdhcmVzLnB1c2goXG4gICAgICAgIG5ldyBFeHBlcmltZW50YWxNZXRyaWNzQ3N2TWlkZGxld2FyZShcbiAgICAgICAgICBvcHRpb25zLnBlclJlcXVlc3RNZXRyaWNzQ1NWUGF0aCxcbiAgICAgICAgICBsb2dnZXJGYWN0b3J5XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLnBlclJlcXVlc3RNZXRyaWNzTG9nID09PSB0cnVlKSB7XG4gICAgICBtaWRkbGV3YXJlcy5wdXNoKG5ldyBFeHBlcmltZW50YWxNZXRyaWNzTG9nZ2luZ01pZGRsZXdhcmUobG9nZ2VyRmFjdG9yeSkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmFjdGl2ZVJlcXVlc3RDb3VudE1ldHJpY3NMb2cgPT09IHRydWUpIHtcbiAgICAgIG1pZGRsZXdhcmVzLnB1c2goXG4gICAgICAgIG5ldyBFeHBlcmltZW50YWxBY3RpdmVSZXF1ZXN0Q291bnRMb2dnaW5nTWlkZGxld2FyZShsb2dnZXJGYWN0b3J5KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5nYXJiYWdlQ29sbGVjdGlvbk1ldHJpY3NMb2cgPT09IHRydWUpIHtcbiAgICAgIG1pZGRsZXdhcmVzLnB1c2goXG4gICAgICAgIG5ldyBFeHBlcmltZW50YWxHYXJiYWdlQ29sbGVjdGlvblBlcmZvcm1hbmNlTWV0cmljc01pZGRsZXdhcmUoXG4gICAgICAgICAgbG9nZ2VyRmFjdG9yeVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBtaWRkbGV3YXJlcztcbiAgfVxufVxuIl19