https://github.com/artilleryio/artillery-engine-kinesis
Experimental AWS Kinesis support for Artillery 🕳
https://github.com/artilleryio/artillery-engine-kinesis
artillery kinesis load-testing
Last synced: 4 months ago
JSON representation
Experimental AWS Kinesis support for Artillery 🕳
- Host: GitHub
- URL: https://github.com/artilleryio/artillery-engine-kinesis
- Owner: artilleryio
- License: mpl-2.0
- Created: 2017-04-27T18:23:29.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-10T22:35:25.000Z (over 2 years ago)
- Last Synced: 2025-06-06T14:06:27.050Z (5 months ago)
- Topics: artillery, kinesis, load-testing
- Language: JavaScript
- Homepage:
- Size: 253 KB
- Stars: 13
- Watchers: 2
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE.txt
Awesome Lists containing this project
README
# Artillery.io AWS Kinesis Plugin
Load test AWS Kinesis with Artillery.io
## Why?
Load testing a Kinesis stream will help you answer question like _"have we provisioned enough shards to be able to handle expected volume?"_ and _"are our consumers able to handle the amount of messages that will be streamed via Kinesis?"_
Take guesswork out of provisioning capacity for your Kinesis streams and make sure your consumers can scale to process incoming data.
## Usage
### Install the plugin
```
# If Artillery is installed globally:
npm install -g artillery-engine-kinesis
```
### Use the plugin
1. Set `config.target` to the name of the Kinesis stream
2. Specify additional options in `config.kinesis`:
- `region` - AWS region (**default**: `us-east-1`)
3. Set the `engine` property of the scenario to `kinesis`.
4. Use `putRecord` in your scenario to push data to the stream.
#### Example Script
```yaml
config:
target: "analytics_events"
kinesis:
region: "us-east-1"
# Emulate 10 publishers
phases:
arrivalCount: 10
duration: 1
engines:
kinesis: {}
scenarios:
- name: "Push to stream"
flow:
- loop:
- putRecord:
# data may be a string or an object. Objects
# will be JSON.stringified.
data:
eventType: "view"
objectId: "ba0ec3de-26fe-4874-a74d-b72527160278"
timestamp: 1492975372004
location: "London, UK"
- think: 1
count: 100
```
(See [example.yml](example.yml) for a complete example.)
### Run Your Script
```
AWS_PROFILE=myprofile artillery run my_script.yml
```
### License
[MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/)