AWS Lambda Live Tuner
Warning
AWS Lambda Live Tuner is still in very early development, functionality might change between releases until version 1.0.0.
Ideas and feedback are very welcome
AWS Lambda Live Tuner tests memory configurations based on real incoming events instead of a single test event.
Let's imagine we are testing a Lambda function that processes a queue, since the Lambda function is idempotent, messages that have already been processed will be successfully processed again. Using the same test event on all invocations might falsify the results because all subsequent invocations after the initial one might be way faster (event was already processed before). Using different incoming events instead helps you test the actual behavior of the Lambda.
This project is heavily inspired by the open source tool aws-lambda-power-tuning
Prerequisites
- Configured AWS credentials
Installation
Via Homebrew (For Mac / Linux)
brew tap janritter/aws-lambda-live-tuner https://github.com/janritter/aws-lambda-live-tuner
brew install aws-lambda-live-tuner
Via download of pre-build binaries
- Open the latest release page
- Download the archive with the pre-build binary for your operating system and architecture
- For Linux with amd64 architecture this would be
aws-lambda-live-tuner_<version>_linux_amd64.tar.gz
- Unzip the downloaded archive
- Start using aws-lambda-live-tuner
Via local build
This option requires go to be installed
Clone the repo
git clone git@github.com:janritter/aws-lambda-live-tuner.git
Build
make build
The binary is saved in bin
inside the project folder
Usage
Check help
aws-lambda-live-tuner --help
Test Lambda
aws-lambda-live-tuner --lambda-arn arn:aws:lambda:eu-central-1:1234567890:function:my-lambda-name
Limitations
- Lambda@Edge functions are currently not supported
- Lambda function aliases are currently not supported
- Lambda tiered pricing is not considered
- Because we can't know in which Lambda pricing tier you are operating, we will always use Tier 1. Since higher tiers just reduce the GB/second price, the lowest price results will still be valid for you.
Development
Regenerate AWS SDK mocks for testing
mockery
License and Author
Author: Jan Ritter
License: MIT