moleculer
Version:
Fast & powerful microservices framework for Node.JS
38 lines (28 loc) • 985 B
TypeScript
import BaseMetric = require("../types/base");
import MetricBaseReporter = require("./base");
declare namespace CSVReporter {
export interface CSVReporterOptions extends MetricBaseReporter.MetricReporterOptions {
folder?: string;
delimiter?: string;
rowDelimiter?: string;
mode?: "metric" | "label";
types?: string | string[];
interval?: number;
filenameFormatter?: (
metricName: string,
metric: BaseMetric<any>,
item: Record<string, any>
) => string;
rowFormatter?: (row: string) => void;
}
}
declare class CSVReporter extends MetricBaseReporter {
opts: CSVReporter.CSVReporterOptions;
constructor(opts?: CSVReporter.CSVReporterOptions);
labelsToStr(labels: Record<string, any>): string;
getFilename(metric: BaseMetric<any>, item: any): any;
flush(): void;
writeRow(filename: string, headers: string[], fields: string[]): void;
metricChanged(metric: BaseMetric<any>, value: any, labels?: Record<string, any>): void;
}
export = CSVReporter;