Skip to content
This repository has been archived by the owner on Apr 8, 2024. It is now read-only.

Latest commit

 

History

History
52 lines (40 loc) · 1.47 KB

README.md

File metadata and controls

52 lines (40 loc) · 1.47 KB

artillery-plugin-sns

A plugin for artillery.io that publishes response data to an SNS topic.

Based on artillery-plugin-cloudwatch

To use:

  1. npm install -g artillery

  2. npm install artillery-plugin-sns (add -g if you like)

  3. Add sns plugin config to your "hello.json" Artillery script

    {
      "config": {
        "plugins": {
          "sns": {
              "topicArn": "[INSERT_TOPIC_ARN]",
              "subject": "[INSERT_SUBJECT]",
              "compressMessage": [true|false]
          }
        }
      }
    }
  4. artillery run hello.json

This will cause every latency to be published to the given SNS topic.

When truthy, the compressMessage option causes the message to be base64 encoded zlib deflated. This reduces the likelihood of hitting then 256K SNS message size limit.

This plugin assumes that the aws-sdk has been pre-configured, before it is loaded, with credentials and any other setting that may be required to successfully Publish to the SNS topic. This activity requires at least the rights given by the following IAM statement to the CloudWatch API in order to report latencies:

{
    "Effect": "Allow",
    "Action": [
        "SNS:Publish"
    ],
    "Resource": ["arn:aws:sns:`region`:`account-id`:`topic`"]
}

For more information, see:

Enjoy!