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

[WIP] PoC for native distributed execution #2438

Closed
wants to merge 28 commits into from
Closed

Conversation

na--
Copy link
Member

@na-- na-- commented Mar 11, 2022

This is a proof of concept for the refactoring we need to do to do a simple version of #140. The tests are not fixed yet, and there are quite a lot of rough edges, but it works 🎉

na-- added 28 commits March 7, 2022 08:43
This makes everything much more easily testable!
This will ensure we have the same behavior as previous k6 version there's an error before setupLoggers() is executed, e.g. when parsing a wrong CLI flag. However, we will now also respect NO_COLOR and K6_NO_COLOR and disable it when they are specified.
This actually also fixes a minor bug where the CLI flag was available in `k6 run` and `k6 inspect`, but it wasn't available in `k6 cloud` and `k6 archive`.
This is a prerequisite for solving other issues like always evaluating thresholds correctly, and as a side-benefit, it also allows us to validate them in the init context, before the test has started.
This allows us to slowly deconstruct and split apart the Engine. It also clears the way for us to have test suites, where every test has a separate pool of VUs and its own ExecutionScheduler.
@na-- na-- modified the milestone: v0.38.0 Mar 11, 2022
@na--
Copy link
Member Author

na-- commented Dec 9, 2022

This PR has become ultra-stale, so I'm closing it as it is, to preserve its historical state.

Over the last several days, I've polished and greatly expanded some of the PoC changes here in multiple PRs on top of the current master. A few with tests and bugfixes like #2795 and #2798 (and other smaller ones) were already merged. The rest form a chain of ready to review (and hopefully merge soon 🤞 ) PRs that refactor big parts of the k6 core into a framework that is much nicer to work with and build upon: #2800 -> #2803 -> #2807 -> #2810 -> #2812 -> #2813 -> #2815

The final 2 very WIP commits here were also rebased on the latest master (and ⬆️ ) changes and expanded just a little bit, but they are still pretty raw and unpolished, so they were pushed in a new WIP PR: #2816

@na-- na-- closed this Dec 9, 2022
@na-- na-- deleted the wip-more-refactoring branch December 9, 2022 09:04
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.

1 participant