delta-sync
Version:
A lightweight framework for bi-directional database synchronization with automatic version tracking and conflict resolution.
51 lines (50 loc) • 1.77 kB
TypeScript
import { DatabaseAdapter, DeltaModel } from '../core/types';
export interface TestModel extends DeltaModel {
value: string;
testField?: any;
}
export interface PerformanceTesterOptions {
testStoreName?: string;
itemCount?: number;
iterations?: number;
fileSize?: number;
concurrentOperations?: number;
verbose?: boolean;
cleanupAfterTest?: boolean;
}
export declare class PerformanceTester {
private adapter;
private options;
private testStoreName;
private createdFileIds;
private createdItemIds;
constructor(adapter: DatabaseAdapter, options?: PerformanceTesterOptions);
/**
* Run all performance tests
*/
runAllTests(): Promise<{
success: boolean;
results: Record<string, PerformanceResult>;
}>;
testSingleItemWrite(): Promise<PerformanceResult>;
testSingleItemRead(): Promise<PerformanceResult>;
testSingleItemDelete(): Promise<PerformanceResult>;
testBulkWrite(): Promise<PerformanceResult>;
testBulkRead(): Promise<PerformanceResult>;
testBulkDelete(): Promise<PerformanceResult>;
testBulkFileWrite(): Promise<PerformanceResult>;
testBulkFileRead(): Promise<PerformanceResult>;
testBulkFileDelete(): Promise<PerformanceResult>;
testPagination(): Promise<PerformanceResult>;
testStress(): Promise<PerformanceResult>;
cleanupTestData(): Promise<void>;
private calculatePerformanceResult;
}
export interface PerformanceResult {
averageTimeMs: number;
minTimeMs: number;
maxTimeMs: number;
operationsPerSecond: number;
throughputMBps?: number;
}
export declare function testAdapterPerformance(adapter: DatabaseAdapter, options?: PerformanceTesterOptions): Promise<Record<string, PerformanceResult>>;