polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
168 lines • 4.59 kB
TypeScript
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