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

Plugin Won't Work in Jmeter Distributed Mode #36

Open
georgejdli opened this issue Jul 15, 2022 · 4 comments
Open

Plugin Won't Work in Jmeter Distributed Mode #36

georgejdli opened this issue Jul 15, 2022 · 4 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@georgejdli
Copy link

I'd like to start by saying I appreciate the work going into this plugin and that this issue is for informational purposes for others looking to uses in a similar use case as mine.

Using the TestStateListener.startTest() method to start the plugin API server works find if you're running jmeter in single mode. If you try to run this in distributed mode however TestStateListeners are not registered for notifications on testStart/testEnd:

https://github.com/apache/jmeter/blob/157db3679a5ed14e97f4b7dd59f29b395217cd48/src/core/src/main/java/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java#L161
https://github.com/apache/jmeter/blob/de43727474fe9c345e7cd57d0d9b2e01adc05a4d/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java#L178

When you run in distributed mode the RemoteJMeterEngineImpl the instantiates the test as a wrapper to the StandardJMeterEngine. But instead of calling StandardJMeterEngine.run() is calls StandardJMeterEngine.runTest() which does not register TestStateListeners for event! That means we are unable to start that API server for LiveChanges.

I don't think the LoopIterationListeners are registered either but I haven't been able to confirm this in the Jmeter code base. That means we don't have a way to change the thread count during test runtime.

@anthonygauthier
Copy link
Owner

Hi!

Thanks for documenting this, this feature is on the roadmap. However I haven't been able to work much on this plugin lately.

It is my objective to start back on it very soon though!

I'll definitely take a crack at it whenever I go back to working on this!

@georgejdli
Copy link
Author

I'd be more than happy to contribute - problem is I don't know the Jmeter source code well enough to know where to start looking for ideas on how to make this work for Distributed Mode.

@anthonygauthier
Copy link
Owner

That'd make 2 of us then hahah! I've become accustomed with the way JMeter's source code works through writing this plugin and the elasticsearch backend listener... However, I'm by no means an expert. It'll take a lot of R&D to develop the feature

@anthonygauthier
Copy link
Owner

@georgejdli FYI, I will be coming back to this very soon as I've been getting the itch to start working on the plugin again.

@anthonygauthier anthonygauthier self-assigned this Nov 9, 2023
@anthonygauthier anthonygauthier added the enhancement New feature or request label Nov 9, 2023
@anthonygauthier anthonygauthier added this to the 1.0.0 milestone Nov 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants