Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add optional process to monitor amoc users #153

Closed
wants to merge 3 commits into from

Conversation

aleklisi
Copy link
Contributor

The amoc users monitor is a process to keep track of what's happening with amoc users. It addresses my issue of not being able to easily determine if load/stress test is successful or users are failing, without digging into logs.

@aleklisi
Copy link
Contributor Author

amoc_config_scenario_SUITE seems to be leaving some garbage after it runs as if I remove this module and run rebar3 ct tests locally pass. With this suite I get the following error:

{{badmatch,
     {{error,
          {parameter_overriding,
              {var0,amoc_config_scenario_SUITE,amoc_config_attributes_SUITE}}},
      10}},
 [{amoc_users_monitor_SUITE,amoc_users_monitor_keeps_track_of_users,1,
      [{file,
           "/Users/.../amoc/test/amoc_users_monitor_SUITE.erl"},
       {line,46}]},
       

@NelsonVides
Copy link
Collaborator

NelsonVides commented Dec 6, 2023

Hey @aleklisi!

I'd say this is not the right way to do this, it introduces yet another layer of abstraction to a repo that is supposed to be nothing more than a process orchestrator and scenario administration. Also gives a third process that will be notified of a user termination — amoc_controller and amoc_users_sup already both get this and that is something I'm planning to remove, a ton of users dying at once would flood two process with down messages, I don't want a third here.

Note that when #162 is merged, you could instead subscribe a handler to [amoc, scenario, user, stop | exception] as telemetry:span/3 raises. These run in the user process, so an exit kill would prevent them from running, but kills should only come from a system going down anyway.


Edit, note that actually that separation between the controller and the supervisor is what I do in #166

@aleklisi
Copy link
Contributor Author

aleklisi commented Dec 8, 2023

@NelsonVides, thanks for the reply.

This optional process is provided for extra convenience when tracking how simulated users are progressing or not and it is meant to be used only when developing new stress test scenarios or working on somewhat unstable stress tests with eg small number of users failing in some edge cases and not to monitor all users in a full-scale scenario.

@aleklisi aleklisi closed this Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants