AWS Lambda Resource Leak Detector

Usage no npm install needed!

<script type="module">
  import lambdaLeak from '';


Build Status


Simple utility to detect resource leaks in AWS Lambda handlers using Node.js that can lead to expensive charges lengthy operations or failures from timeouts.


  • Detects socket leaks
  • Detects excess timers
  • Works with mocha's timeout system
  • Works with Node 6.10.x


Install via npm.

npm install lambda-leak

Getting Started

The lambda-leak detector should be used within a unit testing environment, like mocha, to capture and diagnose potential resource leaks. The following example demonstrates how to use the leak detector inside a unit test.

'use strict';

const lambdaLeak = require( 'lambda-leak' );

const handler = require( 'my-lambda-handler-module' );

describe( 'myModule', function() {

    describe( 'handler', function() {

        it( 'detect leak in my handler', function( done ) {

            const state = lambdaLeak.capture();

            handler( {/* event*/, { /* context */}, function( err, result ) {

                if( err ) {

                    return done( err );

                let difference = state..getDifferenceInHandles();

                if( difference.length > 0 ) {

                    console.log( 'leaks', difference );

                    // leaks detected
                    done( new Error( 'leaks detected' ) );


Projects Using lambda-leak

  • lambda-tester - reduce the time and effort to test AWS Lambda handlers.


We'd love to get feedback on how you're using lambda-tester and things we could add to make this tool better. Feel free to contact us at