Métricas Reais do Kernel (RSS)
Leitura direta de /proc/self/statm no Linux para medir o Resident Set Size real e capturar alocações de extensões C fora da heap da Zend VM.
Motor de runtime autônomo e análise estática para workers persistentes em PHP (FrankenPHP, RoadRunner, Swoole, Symfony, Laravel e Vanilla).
composer require themattosdev/leaklesscomposer require --dev themattosdev/leakless-devLEAKLESS_ENABLED=true
LEAKLESS_MAX_DRIFT_MB=64
LEAKLESS_CHECK_TRANSACTIONS=true
LEAKLESS_CHECK_FILE_DESCRIPTORS=falseuse TheMattos\Leakless\DTOs\Config;
use TheMattos\Leakless\Integrations\FrankenPhp\FrankenPhp;
FrankenPhp::run(
app: fn () => print(json_encode(['status' => 'ok'])),
config: new Config(
maxDriftMb: 64,
checkTransactions: true,
resettables: [
App\Services\CartSession::class,
fn () => LegacyStatic::$cache = [],
],
),
);test('endpoint de pedidos executa de forma limpa sem vazamentos', function () {
// 1. Checagem de reflexão estrutural
expect(PaymentGateway::class)->toBeLeakless();
// 2. Checagem de ciclo de requisição e drift de RSS
expect(function () {
(new ProcessInvoicesJob())->handle();
})->toRunCleanly(maxDriftMb: 0.25);
// 3. Snapshot de mutações de estado em singletons do container
expect(app())->toResetContainerState(function () {
$this->postJson('/api/checkout', ['plan' => 'pro']);
});
});vendor/bin/leakless analyze