Amoc Versions Save

A load-testing framework for running massively parallel tests

3.2.0

2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/esl/amoc/compare/3.1.0...3.2.0

3.1.0

2 months ago

Highlights

Supervision trees have been introduced for users, coordinators, and throttles, that give better load-balancing, as well as introspection using observability tools.

What's Changed

Potential incompatibilities:

Since #171 the controller get_status/0 callback returns a map with named values, for more explicit information. If the previous return value was being pattern-matched in your code, this needs to be updated.

Full Changelog: https://github.com/esl/amoc/compare/3.0.0...3.1.0

3.0.0

4 months ago

Highlights

The load-testing framework for massively parallel testing, more generic than ever!

What started as a load-testing tool for our internal use-cases, has grown over years of experience and uncountable use-cases to be a generic tool for load testing, completely flexible to fit any use-case.

This version leaves the specific decisions of your environment to you, exposing comprehensive instrumentation for you to plug your own metrics and logging backends of choice; a clearly documented interface to plug your preferred APIs; and language agnostic, supporting now scenario distribution in a cluster by distributing BEAM bytecode directly and allowing you to provide your own parser for environment variables, so that you can run your scenarios in any language that runs on top of the BEAM.

Where all these choices were enforced, now amoc lets you choose as it fits. For a drop-in replacement of the old amoc, where Graphite, REST, and Erlang have already been chosen, see amoc-arsenal.

What's Changed

Instrumentation:

Distribution and configuration

Documentation and releases

Miscelaneous

Full Changelog: https://github.com/esl/amoc/compare/2.2.1...3.0.0

3.0.0-rc3

5 months ago

What's Changed

Full Changelog: https://github.com/esl/amoc/compare/3.0.0-rc2...3.0.0-rc3

3.0.0-rc2

6 months ago

What's Changed

Full Changelog: https://github.com/esl/amoc/compare/3.0.0-rc1...3.0.0-rc2

3.0.0-rc1

9 months ago

What's Changed

Full Changelog: https://github.com/esl/amoc/compare/2.2.1...3.0.0-rc1

2.2.1

2 years ago

2.2.1 - 2021-07-19

  • PR#138 - Fixing docsh dependency

2.2.0

2 years ago

2.2.0 - 2021-07-15

This release enables OTP24, and migrates CI to Github Actions.

The main changes:

  • PR#135 - Switching from TravisCI to GH Actions
  • PR#136 - Enabling OTP24 compatibility. Only OTP releases since 23.0 are supported now.

2.1.0

3 years ago

2.1.0 - 2020-08-19

This release focuses on the REST API, which is now powered by OpenAPI Specifications generated by openapi-generator.

The main changes:

  • PR#123 - simplification of scenario uploading, now it can be done using the following command: curl -s -H "Content-Type: text/plain" -T scenario.erl 'http://localhost:4000/upload'
  • PR#124 - switch from cowboy-swagger to amoc_rest (framework generated using openapi-generator). Online Swagger UI documentation for the current release can be found here.
  • PR#125 - possibility to update scenario settings at runtime. Support of the settings for helper modules. Update of the -required_variable(...) module attribute format:
-type module_attribute() :: #{name := name(),
                              description := string(),
                              default_value => value(),
                              verification => verification_method(),
                              update => update_method()}.
  • PR#130 - added new /scenarios/info/{scenario_name} REST API, it returns edoc description of the scenario module and all the relevant settings declared using -required_variable(...) attribute.
  • PR#131 - implementation of the /execution/* REST APIs:
    • /execution/start - starts scenario on all the nodes in the cluster
    • /execution/stop - stops scenario execution on all the nodes in the cluster
    • /execution/add_users - adds new users on all or specific nodes in the cluster
    • /execution/remove_users - removes users on all or specific nodes in the cluster
    • /execution/update_settings - updates scenario settings on all or specific nodes in the cluster
  • PR#132 - remove the legacy way of providing configuration through erlang app environment variables
  • PR#133 - significant improvement of the /status REST API, introduction of the /status/{node_name} REST API (which can be used to check the status of other nodes in the cluster). The following thing are reported:
    • Amoc application status (up/down)
    • Amoc specific env. variables
    • Amoc controller status + runtime scenario settings for running/terminating/finished states

2.0.1

4 years ago

Changed:

  • add some fixes in the documentation
  • set the release version automatically