src/ptx.js is a script which calls the PowerTune stack inside your current AWS account to allow tuning of the AWS Lambdas in that AWS account. It is designed to replace the execute.sh script that is provided by PowerTune.
Note: PTX will run using the AWS profile that is available in your shell/terminal. Set the AWS_PROFILE
environment variable to point to the AWS profile that
you wish to use this tool in.
- Node.js version 14+ (to use the
npx
tool to run this tool)
You may install this tool globally, or run it via npx
.
# Global installation
$ npm i -g ptx
# Run via npx
$ npx ptx
# Set your AWS Profile
export AWS_PROFILE=my-profile
# This might be required too
export AWS_SDK_LOAD_CONFIG=true
# Set an env-var that points to the name of the Power Tune Stack in your AWS Account
export PTX_STACK_NAME=serverlessrepo-aws-lambda-power-tuning
# The config-file argument is relative to the current directory
npx ptx path/to/powertuneConfig.json
See configuration information for the basics, but note that this Node script adds the following capabilities:
- Reference one external JSON or JS files when defining the payload (see examples/configs/basic.json)
- Reference multiple external JSON or JS files when defining the payload (see examples/configs/multiInclude.json)
- Pass arguments to included JS files (see examples/configs/includeFunctionWithArgs.json)
This tool uses the aws-sdk
library to call the following APIs:
- CloudFormation.describeStacks()
- StepFunctions.startExecution()
- StepFunctions.describeExecution()
If you see an AWS permissions error when running ptx
, check if your AWS account has permission to use these APIs.
This software is licensed under the APACHE 2.0 License. See the LICENSE file for more info.