UNPKG

captcha-canvas

Version:

A captcha generator by using skia-canvas module.

62 lines (61 loc) 1.67 kB
"use strict"; /** * Performance monitoring utilities */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MetricsCollector = void 0; class MetricsCollector { constructor() { this.metrics = []; this.enabled = false; } static getInstance() { if (!MetricsCollector.instance) { MetricsCollector.instance = new MetricsCollector(); } return MetricsCollector.instance; } enable() { this.enabled = true; } disable() { this.enabled = false; } startGeneration() { if (!this.enabled) return 0; return performance.now(); } endGeneration(startTime, dimensions, features) { if (!this.enabled || startTime === 0) return null; const endTime = performance.now(); const metrics = { startTime, endTime, duration: endTime - startTime, memoryUsage: process.memoryUsage(), dimensions, features, }; this.metrics.push(metrics); // Keep only last 100 metrics to prevent memory leaks if (this.metrics.length > 100) { this.metrics = this.metrics.slice(-100); } return metrics; } getAverageGenerationTime() { if (this.metrics.length === 0) return 0; const total = this.metrics.reduce((sum, m) => sum + m.duration, 0); return total / this.metrics.length; } getMetrics() { return [...this.metrics]; } clearMetrics() { this.metrics = []; } } exports.MetricsCollector = MetricsCollector;