/** * @packageDocumentation * * Stores metrics in memory and periodically invokes a configured callback to * receive them. * * @example * * ```ts * import { createLibp2p } from 'libp2p' * import { simpleMetrics } from '@libp2p/simple-metrics' * * const node = await createLibp2p({ * // ... other options * metrics: simpleMetrics({ * onMetrics: (metrics) => { * // do something with metrics * } * }), * intervalMs: 1000 // default 1s * }) * * ``` */ import type { Metrics, ComponentLogger } from '@libp2p/interface'; export interface OnMetrics { (metrics: Record): void; } export interface SimpleMetricsInit { /** * How often to invoke the onMetrics callback */ intervalMs?: number; /** * A callback periodically invoked with collected metrics */ onMetrics: OnMetrics; } export interface SimpleMetricsComponents { logger: ComponentLogger; } export declare function simpleMetrics(init: SimpleMetricsInit): (components: SimpleMetricsComponents) => Metrics; //# sourceMappingURL=index.d.ts.map