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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distributed Execution Proposal #3218

Open
4 of 14 tasks
na-- opened this issue Jul 20, 2023 · 0 comments
Open
4 of 14 tasks

Distributed Execution Proposal #3218

na-- opened this issue Jul 20, 2023 · 0 comments

Comments

@na--
Copy link
Member

na-- commented Jul 20, 2023

I know that #140 already exists! 馃槄 However, that issue has a lot history, unrelated discussion and comments, so at this point it isn't very suitable for actually tracking the work that has been done and that remains to be done on the topic...

#140 is also a generic tracking issue for the "distributed execution" capability and will remain open until that is natively supported by k6, however that happens. While I needed some central place that allows me to link up and explain all of the parts of my specific proposal for how to get there. More specifically, this issue is for tracking the full implementation and delivery of a stable version of the distributed execution PoC that originally started as #2438 and was later further developed in #2816. From the design document that explains it, to the PRs that implement parts of it, to the missing parts that haven't been implemented yet. This issue is for all of that, and I'll just link to it in a #140 comment 馃槄

I will also be taking a long vacation/sabbatical for the next few months and then gradually moving to another team. Because of that (and somewhat prompted by @ragnarlonn's comments in #140 馃槄), I thought it made sense to try and write down my thoughts and ideas on the topic. It's very unlikely that I will be able to finish the distributed execution work myself, so I've tried to make what exists as code and ideas in my head as easy to adopt and built upon as it's practical to do before I go away for a while.

Since I won't be around (I might not have been as diligent otherwise... 馃槄), I've written a design document and refactored the original proofs of concept into backwards-compatible (and so, hopefully merge-able) PRs 馃

Here is a (hopefully mostly complete) list of tasks that remain:

Planning

Experimental version

Integrate with other k6 products

Local metrics

UX refinement

I've written these tasks in the order I think it makes sense to do them to get the end result with the least amount of effort and time. Though a lot of them can also be done out of order (e.g. HDR histograms can be done first, as was the case originally in the PoC, or tests can be added before some existing PR is merged 馃槉 馃槄).

This whole issue and items in the list above can be reordered, removed, added to and checked off at the discretion of whoever picks up this work. And this whole issue can be closed if the approach is considered nonviable and a better alternative exists, without affecting #140.

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

No branches or pull requests

2 participants