()
| 172 | return bestMatch; |
| 173 | } |
| 174 | getDiagnostics() { |
| 175 | return Array.from(this.stats.entries()).map(([name, data]) => ({ |
| 176 | command: name, |
| 177 | usage: data.calls, |
| 178 | errors: data.errors, |
| 179 | average_speed: `${data.avgMs.toFixed(3)}ms`, |
| 180 | status: this.disabledCommands.has(name) ? 'OFF' : 'ON' |
| 181 | })).sort((a, b) => b.usage - a.usage); |
| 182 | } |
| 183 | resetStats() { |
| 184 | this.stats.clear(); |
| 185 | this.cooldowns.clear(); |