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
87 lines • 2.5 kB
TypeScript
/**
* Smart Resource Manager - Automatic system resource detection and configuration
* Addresses GitHub issue #23: Smart performance defaults and auto-configuration
*/
export interface SystemResources {
totalMemoryGB: number;
freeMemoryGB: number;
cpuCount: number;
cpuLoadAverage: number;
nodeVersion: string;
platform: string;
arch: string;
}
export interface PerformanceProfile {
name: string;
description: string;
maxMemoryMB: number;
chunkSize: number;
enableParallel: boolean;
enableCaching: boolean;
maxWorkers: number;
aggressiveCleanup: boolean;
streamingOptimizations: boolean;
}
export interface AutoConfigResult {
detectedResources: SystemResources;
selectedProfile: PerformanceProfile;
customizations: Record<string, any>;
recommendations: string[];
warnings: string[];
}
export declare class SmartResourceManager {
private cachedResources?;
private lastDetectionTime;
private readonly CACHE_DURATION_MS;
/**
* Auto-configure DataPilot based on system resources
*/
autoConfigurePerformance(fileSizeMB?: number): Promise<AutoConfigResult>;
/**
* Detect current system resources with caching
*/
detectSystemResources(): Promise<SystemResources>;
/**
* Select optimal performance profile based on system resources
*/
private selectOptimalProfile;
/**
* Calculate suitability score for a performance profile
*/
private calculateProfileScore;
/**
* Generate customizations based on system characteristics
*/
private generateCustomizations;
/**
* Generate performance guidance and warnings
*/
private generateGuidance;
/**
* Get predefined performance profiles
*/
private getPerformanceProfiles;
/**
* Log auto-configuration results
*/
private logAutoConfiguration;
/**
* Get system information for performance dashboard
*/
getSystemInfo(): Promise<SystemResources & {
performanceScore: number;
}>;
/**
* Calculate overall system performance score (0-100)
*/
private calculatePerformanceScore;
/**
* Check if file size requires special handling
*/
isLargeFile(fileSizeMB: number): boolean;
/**
* Get recommended command-line options for a file
*/
getRecommendedCLIOptions(fileSizeMB: number): Promise<string[]>;
}
//# sourceMappingURL=smart-resource-manager.d.ts.map