parallel-file-uploader
Version:
高性能并行文件上传工具,支持大文件分片上传、断点续传、Web Worker多线程处理
99 lines • 2.31 kB
TypeScript
/**
* 性能监控数据接口
*/
export interface PerformanceData {
currentSpeed: number;
averageSpeed: number;
peakSpeed: number;
memoryUsage?: {
used: number;
total: number;
percentage: number;
};
activeConnections: number;
bytesTransferred: number;
elapsedTime: number;
estimatedTimeRemaining?: number;
activeFiles: number;
totalFiles: number;
timestamp: number;
}
/**
* 性能监控器
* 监控上传速度、内存使用、连接数等性能指标
*/
export declare class PerformanceMonitor {
private enabled;
private startTime;
private lastMeasureTime;
private lastBytesTransferred;
private totalBytesTransferred;
private speedHistory;
private peakSpeed;
private activeConnections;
private activeFiles;
private totalFiles;
private maxHistorySize;
constructor(enabled?: boolean);
/**
* 启用/禁用性能监控
*/
setEnabled(enabled: boolean): void;
/**
* 检查是否启用
*/
isEnabled(): boolean;
/**
* 重置监控数据
*/
reset(): void;
/**
* 记录字节传输
*/
recordBytesTransferred(bytes: number): void;
/**
* 设置活跃连接数
*/
setActiveConnections(count: number): void;
/**
* 设置文件数量
*/
setFileStats(active: number, total: number): void;
/**
* 计算当前速度
*/
private calculateCurrentSpeed;
/**
* 更新速度历史
*/
private updateSpeedHistory;
/**
* 计算平均速度
*/
private calculateAverageSpeed;
/**
* 获取内存使用情况
*/
private getMemoryUsage;
/**
* 计算预估剩余时间
*/
private calculateEstimatedTimeRemaining;
/**
* 获取性能数据
*/
getPerformanceData(remainingBytes?: number): PerformanceData;
/**
* 格式化速度为人类可读格式
*/
static formatSpeed(bytesPerSecond: number): string;
/**
* 格式化时间为人类可读格式
*/
static formatTime(milliseconds: number): string;
/**
* 格式化内存大小为人类可读格式
*/
static formatBytes(bytes: number): string;
}
//# sourceMappingURL=PerformanceMonitor.d.ts.map