UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

168 lines 4.59 kB
import { EventEmitter } from 'events'; export declare class NetworkUtils { static formatBandwidth(bytesPerSecond: number): { value: number; unit: string; formatted: string; }; static formatBytes(bytes: number): { value: number; unit: string; formatted: string; }; static calculateUtilization(currentRate: number, maxRate: number): number; static getConnectionState(interfaces: NetworkInterface[]): 'connected' | 'disconnected' | 'limited'; } export interface SystemResourcesDetailed { cpu: { usage: number; cores: number; model: string; speed: number; temperature?: number; loadAverage?: number[]; }; memory: { total: number; used: number; free: number; usage: number; available: number; percentage: number; }; network: { interfaces: NetworkInterface[]; totalBytesIn: number; totalBytesOut: number; timestamp: number; connections: number; totalRateIn: number; totalRateOut: number; activeInterfaces: number; errorRate: number; connectionState: 'connected' | 'disconnected' | 'limited'; }; process: { pid: number; cpuUsage: number; memoryUsage: number; uptime: number; handles?: number; connections?: number; fileDescriptors?: number; threadCount?: number; status: 'running' | 'idle' | 'blocked' | 'zombie'; heapUsed: number; heapTotal: number; external: number; arrayBuffers: number; rss: number; avgCpuUsage: number; peakMemoryUsage: number; performanceRating: 'excellent' | 'good' | 'fair' | 'poor'; }; disk?: { used: number; total: number; available: number; percentage: number; }; } export interface NetworkInterface { name: string; isUp: boolean; speed?: number; bytesIn: number; bytesOut: number; packetsIn: number; packetsOut: number; errors: number; dropped: number; rateIn?: number; rateOut?: number; utilization?: number; } export interface SystemResourcesHistory { timestamp: number; cpu: number; memory: number; network: { bytesIn: number; bytesOut: number; }; process: { cpu: number; memory: number; }; } export declare class SystemResourceService extends EventEmitter { private previousCpuUsage; private previousProcessUsage; private history; private readonly historyMaxSize; private isWindows; private isLinux; private isMacOS; private previousNetworkStats; private networkRates; private processHistory; private readonly processHistoryMaxSize; private processStartTime; private peakMemoryUsage; private cpuUsageReadings; constructor(); private initializeBaseline; getSystemResources(): Promise<SystemResourcesDetailed>; private getCpuUsage; private getMemoryUsage; private getNetworkUsage; private getNetworkStats; getNetworkRates(): Map<string, { rateIn: number; rateOut: number; }>; getFormattedNetworkStats(): { totalBandwidth: string; totalBytes: string; connectionState: string; }; private getLinuxNetworkStats; private getMacNetworkStats; private getWindowsNetworkStats; private getNetworkConnections; private getProcessUsage; private getDiskUsage; private determineProcessStatus; private calculatePerformanceRating; private getFileDescriptorCount; private getThreadCount; getProcessHistory(): Array<{ timestamp: number; cpu: number; memory: number; heapUsed: number; }>; getProcessPerformanceSummary(): { runtime: number; avgCpuUsage: number; peakMemoryUsage: number; currentMemoryUsage: number; performanceRating: 'excellent' | 'good' | 'fair' | 'poor'; }; private addToHistory; getHistory(timeRange?: number): SystemResourcesHistory[]; clearHistory(): void; getSystemInfo(): { platform: string; architecture: string; hostname: string; uptime: number; nodeVersion: string; }; isResourceStressed(resources: SystemResourcesDetailed): { cpu: boolean; memory: boolean; overall: boolean; }; } //# sourceMappingURL=system-resource.service.d.ts.map