Skip to content

LeaklessPrevenção de Estado & Vazamento de Memória

Motor de runtime autônomo e análise estática para workers persistentes em PHP (FrankenPHP e Laravel Octane).

Instalação Rápida

bash
composer require themattosdev/leakless
bash
composer require --dev themattosdev/leakless-dev

Exemplo de Proteção de Worker

ini
# Zero-Config: O Leakless é descoberto automaticamente e intercepta os eventos do Octane
LEAKLESS_MAX_RSS_MB=256
LEAKLESS_MAX_REQUESTS=1000
LEAKLESS_CHECK_TRANSACTIONS=true
LEAKLESS_ROLLBACK_STATE=true
LEAKLESS_LOG_VIOLATIONS=true
php
use TheMattos\Leakless\Config;
use TheMattos\Leakless\Integrations\FrankenPhp\FrankenPhp;

$config = new Config(
    maxRssMb: 256,
    maxRequests: 1000,
    checkTransactions: true,
);

FrankenPhp::run(function () {
    // Tratamento da requisição da aplicação
    echo json_encode(['status' => 'ok', 'timestamp' => time()]);
}, $config);
php
use App\Services\OrderProcessor;

test('processador de pedidos executa sem drift de memória ou transações órfãs', function () {
    expect(OrderProcessor::class)->toBeLeakless();

    expect(function () {
        (new OrderProcessor())->handleBatch();
    })->toRunCleanly(maxDriftMb: 5.0);
});
bash
vendor/bin/leakless analyze

Released under the MIT License.