UNPKG

datapilot-cli

Version:

Enterprise-grade streaming multi-format data analysis with comprehensive statistical insights and intelligent relationship detection - supports CSV, JSON, Excel, TSV, Parquet - memory-efficient, cross-platform

116 lines 2.71 kB
/** * Performance monitoring for DataPilot CLI * Tracks memory usage, CPU, throughput, and other metrics */ export interface PerformanceMetrics { timestamp: number; memory: { heapUsed: number; heapTotal: number; external: number; rss: number; }; cpu: { user: number; system: number; percent: number; }; throughput?: { rowsPerSecond: number; bytesPerSecond: number; }; phase?: { name: string; metrics: { duration: number; memoryDelta: number; cpuTime: number; rowsProcessed?: number; }; }; } export interface PerformanceReport { summary: { totalDuration: number; peakMemoryMB: number; avgMemoryMB: number; avgCpuPercent: number; totalRowsProcessed: number; avgThroughput: number; }; phases: { [phase: string]: { duration: number; memoryDelta: number; cpuTime: number; rowsProcessed?: number; }; }; warnings: string[]; timeline: PerformanceMetrics[]; } export declare class PerformanceMonitor { private startTime; private metrics; private phaseMarkers; private monitoringInterval?; private lastCpuUsage?; private totalRowsProcessed; private enabled; private sampleInterval; private memoryThreshold; constructor(options?: { enabled?: boolean; sampleInterval?: number; memoryThreshold?: number; }); /** * Start performance monitoring */ start(): void; /** * Stop performance monitoring */ stop(): PerformanceReport; /** * Mark the start of a phase */ startPhase(phaseName: string): void; /** * Mark the end of a phase */ endPhase(phaseName: string, rowsProcessed?: number): void; /** * Update row processing count */ updateRowCount(rows: number): void; /** * Collect current performance metrics */ private collectMetrics; /** * Get current performance metrics */ private getCurrentMetrics; /** * Calculate CPU usage percentage */ private getCpuUsage; /** * Calculate current throughput */ private calculateThroughput; /** * Check performance thresholds and emit warnings */ private checkThresholds; /** * Generate performance report */ private generateReport; /** * Format performance report for display */ static formatReport(report: PerformanceReport): string; } //# sourceMappingURL=performance-monitor.d.ts.map