UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

89 lines 3.18 kB
import { IPerformanceProfiler, ProfilerConfig, PerformanceMetrics, ProfilerReport } from '../types/devtools-interfaces'; /** * Профилировщик производительности для CSElement * Отслеживает время выполнения операций и использование памяти */ export declare class PerformanceProfiler implements IPerformanceProfiler { private _config; private _measurements; private _history; private _isEnabled; constructor(config?: Partial<ProfilerConfig>); get config(): ProfilerConfig; /** * Начать измерение операции */ startMeasurement(operationType: string, metadata?: Record<string, any>): string; /** * Завершить измерение операции */ endMeasurement(measurementId: string): PerformanceMetrics; /** * Получить отчет за период */ getReport(timeRange?: { start: number; end: number; }): ProfilerReport; /** * Очистить историю метрик */ clearHistory(): void; /** * Включить/выключить профилировщик */ setEnabled(enabled: boolean): void; /** * Обновить конфигурацию профилировщика */ updateConfig(config: Partial<ProfilerConfig>): void; /** * Получить статистику по типам операций */ getOperationStats(): Record<string, { count: number; totalDuration: number; averageDuration: number; maxDuration: number; minDuration: number; }>; /** * Получить активные измерения */ getActiveMeasurements(): string[]; /** * Отменить активное измерение */ cancelMeasurement(measurementId: string): boolean; /** * Создать снимок текущего состояния */ createSnapshot(): { config: ProfilerConfig; activeMeasurements: number; historySize: number; isEnabled: boolean; operationStats: Record<string, any>; }; /** * Добавить метрику в историю */ private addToHistory; /** * Получить текущее количество элементов в системе */ private getElementCount; /** * Получить текущее использование памяти */ private getMemoryUsage; /** * Создать профиль производительности для функции */ profileFunction<T extends (...args: any[]) => any>(fn: T, operationType: string, metadata?: Record<string, any>): T; /** * Создать декоратор для профилирования методов */ static createProfileDecorator(profiler: PerformanceProfiler, operationType?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; } //# sourceMappingURL=PerformanceProfiler.d.ts.map