UNPKG

@nanocollective/nanocoder

Version:

A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter

48 lines 1.49 kB
/** * Performance monitoring health check */ import { globalPerformanceMonitor } from '../../performance.js'; /** * Calculate score based on status */ function calculateScore(status) { if (status === 'fail') return 0; if (status === 'pass') return 100; if (status === 'warn') return 50; return 50; // default for unknown status } /** * Check performance monitoring health */ export function checkPerformanceMonitoring(config) { const startTime = performance.now(); const stats = globalPerformanceMonitor.getAllStats(); const thresholds = config.thresholds.performance; let status = 'pass'; let message = 'Performance monitoring is healthy'; const details = { trackedOperations: Object.keys(stats).length, totalMeasurements: Object.values(stats).reduce((sum, stat) => sum + (stat?.count || 0), 0), }; // Check if performance monitoring is functional if (Object.keys(stats).length === 0 && process.uptime() > 60) { status = 'warn'; message = 'No performance measurements detected'; } return { name: 'performance-monitoring', status, score: calculateScore(status), duration: performance.now() - startTime, message, details, threshold: { warning: thresholds.averageDurationWarning, critical: thresholds.averageDurationCritical, }, }; } //# sourceMappingURL=performance-check.js.map