-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Remove the Engine
and split metrics/VUs handling
#1889
Comments
I've been thinking on some related issues to this problem recently and I think I was wrong ⬆️, especially with this:
I think it might actually be the other way around 😅 Instead of refactoring metrics handling or outputs out of the So, my current idea is that we should actually focus the Engine completely on metrics, outputs, thresholds data crunching, etc. We can even rename it to something more appropriate like a And we can focus the A big potential benefit of this decoupling would be the fact that we might be able to much more easily support test suites (i.e. multiple test scripts in a single |
Engine
and split metrics/VUs handling
The current
Engine
vaguely resembles a Rube Goldberg machine... It has slowly been getting better, for example #1869 improved it slightly by mostly decoupling the outputs from theEngine
, but it still has quite a lot of moving parts that can be streamlined and improved. And as #1887, it still has some gotchas and potentially some other hidden bugs or data races....I'm opening this issue as an epic where we can gather Engine issues and ideas for fixing them. Here are some specific problems that currently exist, though there are quite a few other TODOs sprinkled in the code already:
engineWait
andengineRun
callbacks are more than a bit strange, but they were the easiest way to handle the--linger
peculiarities: https://github.com/loadimpact/k6/blob/2036baeaa83d76ce17aae95fef7e78e3ef24c735/cmd/run.go#L255Needless to say, but this refactoring should definitely be done after #1832, and maybe even some of its related issues, given that they will probably substantially change the requirements.
The text was updated successfully, but these errors were encountered: