import { MomentoLoggerFactory } from '@gomomento/sdk-core'; import { Middleware } from './middleware'; interface ExperimentalMetricsMiddlewareOptions { /** * Setting this to true will emit a periodic JSON log for the event loop profile of the nodeJS process. */ eventLoopMetricsLog?: boolean; /** * Setting this to true will emit a JSON log during major GC events, as observed by node's perf_hooks. */ garbageCollectionMetricsLog?: boolean; /** * Setting this to true will emit a JSON log for each Momento request, that includes the client-side latency * among other request profile statistics. */ perRequestMetricsLog?: boolean; /** * Setting this to true will emit a periodic JSON log for active Momento request count on the nodeJS process * as observed when the periodic task wakes up. This can be handy with eventLoopMetricsLog to observe the event loop * delay against the maximum number of concurrent connections the application is observing. */ activeRequestCountMetricsLog?: boolean; /** * Setting this to true will write a CSV recrd for each Momento request, that includes the client-side latency * among other request profile statistics. The path is the file path on your disk where the CSV file is stored. */ perRequestMetricsCSVPath?: string; } export declare class MiddlewareFactory { static createMetricsMiddlewares(loggerFactory: MomentoLoggerFactory, options: ExperimentalMetricsMiddlewareOptions): Middleware[]; } export {};