@jackchuka/gql-ingest
Version:
A CLI tool for ingesting data from CSV files into a GraphQL API
38 lines • 1.22 kB
TypeScript
export interface EntityMetrics {
entityName: string;
successCount: number;
failureCount: number;
startTime: number;
endTime?: number;
}
export interface ProcessingMetrics {
totalEntities: number;
totalSuccesses: number;
totalFailures: number;
entityMetrics: Map<string, EntityMetrics>;
requestDurations: number[];
retryAttempts: number;
retrySuccesses: number;
retryFailures: number;
startTime: number;
endTime?: number;
}
export declare class MetricsCollector {
private metrics;
constructor();
startEntityProcessing(entityName: string): void;
recordSuccess(entityName: string): void;
recordFailure(entityName: string): void;
finishEntityProcessing(entityName: string): void;
finishProcessing(): ProcessingMetrics;
getEntityMetrics(entityName: string): EntityMetrics | undefined;
getTotalProcessed(): number;
getSuccessRate(): number;
recordRequestDuration(duration: number): void;
recordRetrySuccess(attempts: number): void;
recordRetryFailure(attempts: number): void;
getAverageRequestDuration(): number;
getDurationMs(): number;
generateSummary(): string;
}
//# sourceMappingURL=metrics.d.ts.map