[WIP] POC for actor-based simulation testing framework#9302
Open
[WIP] POC for actor-based simulation testing framework#9302
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
simtesteris a lightweight simulation testing framework designed to run concurrent actor-based scenarios. By defining custom actors (such asDataScientist) with specific actions, users can simulate real-world behaviors and test workflows at scale. Each actor performs random actions and then rests during a cooldown period, enabling realistic load testing and workflow simulations.Benefits
@actiondecorator.Instructions
Follow these steps to get started:
Install the Package
From the root directory of the repo, run the following command to install
simtesterin editable mode:pip install -e 'packages/simtester'Run a Simulation
To spawn 5 instances of the
DataScientistactor and 1 instance of theAdminactor, use this command:cd tests/scenarios/bigquery/ simtester level_2_sim_test.py::DataScientist 5 level_2_sim_test.py::Admin 1What Happens Next
DataScientistactors and oneAdminactor will be created and start running at the same time.@actiondecorator.cooldown_periodtuple.Simulation Behavior
Additional notes