native-update
Version:
Foundation package for building a comprehensive update system for Capacitor apps. Provides architecture and interfaces but requires backend implementation.
54 lines (53 loc) • 1.39 kB
TypeScript
export interface PerformanceMetrics {
checkDuration?: number;
downloadDuration?: number;
downloadSize?: number;
installDuration?: number;
totalDuration?: number;
networkSpeed?: number;
}
export declare class PerformanceMonitor {
private static instance;
private readonly logger;
private metrics;
private timers;
private constructor();
static getInstance(): PerformanceMonitor;
/**
* Start timing an operation
*/
startTimer(operation: string, version?: string): void;
/**
* End timing an operation
*/
endTimer(operation: string, version?: string): number;
/**
* Record download metrics
*/
recordDownload(version: string, size: number, duration: number): void;
/**
* Get metrics for a version
*/
getMetrics(version?: string): PerformanceMetrics | undefined;
/**
* Get all metrics
*/
getAllMetrics(): Map<string, PerformanceMetrics>;
/**
* Clear metrics
*/
clearMetrics(version?: string): void;
/**
* Calculate optimal download chunk size based on network speed
*/
getOptimalChunkSize(): number;
/**
* Check if device has sufficient performance
*/
checkDevicePerformance(): Promise<{
cpuCores: number;
memory: number;
storage: number;
suitable: boolean;
}>;
}