Monitoramento e Estatísticas

📈 Sistema de Estatísticas Built-in

-- Obter estatísticas completas do cache
local stats = LockSystem.Cache.stats()

-- Estrutura retornada:
{
    items = 15,                    -- Número de itens em cache
    memory_bytes = 8192,           -- Memória usada em bytes
    memory_kb = 8,                 -- Memória usada em KB
    hits = 450,                    -- Número de acertos (cache hit)
    misses = 89,                   -- Número de falhas (cache miss)
    hit_rate = 83.45,              -- Taxa de acerto em %
    sets = 67,                     -- Número de itens adicionados
    clears = 12,                   -- Número de limpezas realizadas
    expired_items = 3,             -- Itens expirados aguardando limpeza
    efficiency = 87.5              -- Eficiência geral em %
}

🖥️ Comando Admin para Monitoramento

-- Comando administrativo para visualizar estatísticas
addCommandHandler("cache", function(player)
    if not hasObjectPermissionTo(player, "general.administrator") then
        outputChatBox("Acesso negado!", player, 255, 0, 0)
        return
    end
    
    local stats = LockSystem.Cache.stats()
    
    outputChatBox("=== ESTATÍSTICAS DO CACHE ===", player, 255, 215, 0)
    outputChatBox("📦 Items em cache: " .. stats.items, player)
    outputChatBox("💾 Memória usada: " .. stats.memory_kb .. "KB", player)
    outputChatBox("🎯 Taxa de acerto: " .. stats.hit_rate .. "%", player)
    outputChatBox("✅ Total de hits: " .. stats.hits, player)
    outputChatBox("❌ Total de misses: " .. stats.misses, player)
    outputChatBox("📝 Items adicionados: " .. stats.sets, player)
    outputChatBox("🧹 Limpezas realizadas: " .. stats.clears, player)
    outputChatBox("⏰ Items expirados: " .. stats.expired_items, player)
    outputChatBox("⚡ Eficiência: " .. stats.efficiency .. "%", player)
end)

🧹 Sistema de Limpeza Personalizada

📊 Sistema de Alertas de Performance

Atualizado