Skip to content

Referência de Configuração

O Leakless é configurado através do objeto TheMattos\Leakless\Config no PHP vanilla, ou via .env / config/leakless.php no Laravel Octane.


1. Configuração no PHP Vanilla

Instancie o objeto Config com as opções desejadas:

php
use TheMattos\Leakless\Config;
use TheMattos\Leakless\Leakless;

$config = new Config(
    enabled: true,             // Ativa ou desativa o Leakless
    maxRssMb: 256.0,           // Teto máximo de memória física RSS do Linux em MB
    maxRequests: 1000,         // Limite de requisições atendidas antes da reciclagem
    checkTransactions: true,   // Detecta e executa rollback em transações PDO abertas
    rollbackState: true,       // Restaura fuso horário, buffers de saída e níveis de erro
    logViolations: true,       // Emite logs de alerta quando anomalias são interceptadas
);

$leakless = new Leakless($config);

2. Configuração no Laravel Octane

Em aplicações Laravel, configure os parâmetros diretamente no arquivo .env:

ini
LEAKLESS_ENABLED=true
LEAKLESS_MAX_RSS_MB=256
LEAKLESS_MAX_REQUESTS=1000
LEAKLESS_CHECK_TRANSACTIONS=true
LEAKLESS_ROLLBACK_STATE=true
LEAKLESS_LOG_VIOLATIONS=true

Ou publique o arquivo config/leakless.php:

bash
php artisan vendor:publish --tag="leakless-config"

3. Tabela de Opções

OpçãoVariável de AmbientePadrãoDescrição
enabledLEAKLESS_ENABLEDtrueChave mestra para ativar ou desativar a auditoria do Leakless.
max_rss_mbLEAKLESS_MAX_RSS_MB256.0Teto de memória RSS real do Linux em MB. Ao ser ultrapassado, dispara a reciclagem do worker.
max_requestsLEAKLESS_MAX_REQUESTSnullLimite de requisições por worker antes de reciclar (null = ilimitado).
check_transactionsLEAKLESS_CHECK_TRANSACTIONStrueAudita e executa rollback automático em transações PDO abertas ao final da requisição.
rollback_stateLEAKLESS_ROLLBACK_STATEtrueRestaura fuso horário original, buffers de saída residuais e níveis de erro.
log_violationsLEAKLESS_LOG_VIOLATIONStrueEmite logs diagnósticos quando transações órfãs ou anomalias de estado forem capturadas.

Released under the MIT License.