https://github.com/digio/powertune-executor
A command line tool that makes it easier to run AWS PowerTune against your Lambdas
https://github.com/digio/powertune-executor
Last synced: over 1 year ago
JSON representation
A command line tool that makes it easier to run AWS PowerTune against your Lambdas
- Host: GitHub
- URL: https://github.com/digio/powertune-executor
- Owner: digio
- License: apache-2.0
- Created: 2022-05-24T00:19:43.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-14T23:38:06.000Z (almost 3 years ago)
- Last Synced: 2024-03-15T04:09:17.872Z (over 2 years ago)
- Language: JavaScript
- Size: 152 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# PowerTune Node Execution script
[](https://github.com/digio/powertune-executor/actions/workflows/gh-pages-deploy.yml)
[](http://npm.im/ptx)
[](https://github.com/semantic-release/semantic-release)
[](https://github.com/ellerbrock/open-source-badges/)
[src/ptx.js](src/ptx.js) is a script which calls the [PowerTune](https://github.com/alexcasalboni/aws-lambda-power-tuning) 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](https://github.com/alexcasalboni/aws-lambda-power-tuning/tree/master/scripts/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.
## Prerequisite Software
- [Node.js](http://nodejs.org) version 14+ (to use the `npx` tool to run this tool)
## Installation
You may install this tool globally, or run it via `npx`.
``` shell
# Global installation
$ npm i -g ptx
```
``` shell
# Run via npx
$ npx ptx
```
## Usage
``` shell
# 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](https://github.com/alexcasalboni/aws-lambda-power-tuning/blob/master/README-INPUT-OUTPUT.md) 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](examples/configs/basic.json))
- Reference multiple external JSON or JS files when defining the payload (see [examples/configs/multiInclude.json](examples/configs/multiInclude.json))
- Pass arguments to included JS files (see [examples/configs/includeFunctionWithArgs.json](examples/configs/includeFunctionWithArgs.json))
## AWS Permissions Required
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.
## License
This software is licensed under the APACHE 2.0 License. See the LICENSE file for more info.