Releases: esl/amoc
3.3.0
What's Changed
- Allow any term to be a coordinator name by @NelsonVides in #183
Full Changelog: 3.2.0...3.3.0
3.2.0
What's Changed
- Fix docs by @kamilwaz in #181
- Accept ranges of users in
amoc_coordinator
by @NelsonVides in #174
New Contributors
Full Changelog: 3.1.0...3.2.0
3.1.0
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
- Controller/Return a more explicit running status from by @NelsonVides in #171
- Add telemetry event for a coordinator trigger by @NelsonVides in #177
- Supervision trees and test coverage by @NelsonVides in #178
- Ensure change_rate_gradually runs for long enough to the test to succeed by @NelsonVides in #179
- Throttles/rework run and sending logic by @NelsonVides in #180
- Users supervision tree by @NelsonVides in #175
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: 3.0.0...3.1.0
3.0.0
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:
- Amoc core by @NelsonVides in #145
- Telemetry/timestamps and spans by @NelsonVides in #162
- Telemetry/rework logs by @NelsonVides in #163
Distribution and configuration
- Configurable env parser by @DenysGonchar in #151
- Distribute modules as binaries by @DenysGonchar in #152
- Amoc arsenal by @DenysGonchar in #154
- Fix loading dynamically-compiled code like on a LiveBook session by @NelsonVides in #156
Documentation and releases
- Add hex badges by @NelsonVides in #149
- Hex package preparations by @NelsonVides in #147
- Document elixir equivalents where erlang is used by @NelsonVides in #150
- Docs improvements by @NelsonVides in #164
- Enable codecov analysis by @NelsonVides in #167
- Add livebook guide example by @NelsonVides in #165 and #169
- Documentation for env-vars parser update by @DenysGonchar in #176
Miscelaneous
- Minor updates by @DenysGonchar in #140
- Do not use process priority max as per OTP guidelines by @NelsonVides in #141
- amoc_scenarios ets table improvement by @NelsonVides in #142
- Update OTP, rebar, and ubuntu versions by @NelsonVides in #143
- Let amoc user processes exit normally by @NelsonVides in #144
- Unify amoc_user stop helpers by @NelsonVides in #146
- Handle stop request with already zero users by @NelsonVides in #159
- Controller/add restart api by @NelsonVides in #161
- Controller/tests by @NelsonVides in #170
Full Changelog: 2.2.1...3.0.0
3.0.0-rc3
3.0.0-rc2
What's Changed
- Add hex badges by @NelsonVides in #149
- Configurable env parser by @DenysGonchar in #151
- Distribute modules as binaries by @DenysGonchar in #152
Full Changelog: 3.0.0-rc1...3.0.0-rc2
3.0.0-rc1
What's Changed
- Minor updates by @DenysGonchar in #140
- amoc_scenarios ets table improvement by @NelsonVides in #142
- Do not use process priority max as per OTP guidelines by @NelsonVides in #141
- Let amoc user processes exit normally by @NelsonVides in #144
- Update OTP, rebar, and ubuntu versions by @NelsonVides in #143
- Unify amoc_user stop helpers by @NelsonVides in #146
- Amoc core by @NelsonVides in #145
- Hex package preparations by @NelsonVides in #147
Full Changelog: 2.2.1...3.0.0-rc1
2.2.1
2.2.0
2.1.0
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