microsoft / azure-load-testing

MIT License
22 stars 2 forks source link

[Feature Request] Possibility to get the worker instance (node) number inside .jmx file, named "node_index" #60

Open dsteindo opened 2 years ago

dsteindo commented 2 years ago

Is your feature request related to a problem? Please describe. We want to migrate from JMeter ACI Terraform to Azure Load Testing, for this we looked into the setup. What we are missing is the possibility to figure out on which worker node we are currently on, this is needed to calculcate an offset for the user login we want to use for our current Thread.

According to https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/load-testing/how-to-high-scale-load.md section "Test engine instances" the engines are workers, so if I have 4 engines then I expect to get "node_index" Variables 0 - 3

Maybe it is just the documentation missing the info, but we can't estimate the effort to migrate without this.

Describe the solution you'd like A solution similar to this https://github.com/Azure-Samples/jmeter-aci-terraform/issues/75 Or another way to access the node id. I know existing solutions like flood.io have a very convenient variable "node_index" for that. See https://guides.flood.io/scripting-and-tools/test-data#partitioning-csv-data-sets

Describe alternatives you've considered We have to make sure every user is unique, one big CSV is no alternative, as the same CSV is used on multiple instances, we have to split it up and use partitions based on the worker instance ID.

Additional context ...

AB#1490564

Sachid26 commented 2 years ago

@dsteindo .. thank you for your feedback. We do have the CSV split feature in the pipeline which would allow you to split a large CSV between engine instances.

jwyza-pi commented 2 years ago

@dsteindo .. thank you for your feedback. We do have the CSV split feature in the pipeline which would allow you to split a large CSV between engine instances.

Do you know (roughly) the timeline for that? It'd be very handy for us as well.

Sachid26 commented 2 years ago

@dsteindo .. thank you for your feedback. We do have the CSV split feature in the pipeline which would allow you to split a large CSV between engine instances.

Do you know (roughly) the timeline for that? It'd be very handy for us as well.

Don't have an ETA to share now. but will keep you posted. Thank you for your patience.

dsteindo commented 2 years ago

@dsteindo .. thank you for your feedback. We do have the CSV split feature in the pipeline which would allow you to split a large CSV between engine instances.

Thank you for the reply, will it then be possible to retrieve the index of the worker/node/engine inside the JMX files like in the examples I linked? Reason for this is that I use math to calculate the user-login, as an big csv list with "user-0" to "user-9999" would not be a very smart approach in my opinion.

alexmcgillicuddypd commented 1 year ago

We have the same use case - we would be very keen on this feature being implemented - is there yet an ETA?

mhoult22 commented 1 year ago

I also would like to know if it is possible to access the engine/worker number as a variable. I have a situation which cannot be solved by CSV splitting, as in my test I have 2 CSV files and I need to ensure the 2nd one isn't split. For me I need to know what engine I am using. Thanks.

Sachid26 commented 1 year ago

@mhoult22 The ability to get the engine number as variable is not possible right now. we have logged this as a feature request for future iteration

GuyHarwood commented 4 months ago

is there any progress on this feature? it is blocking us from moving all of our load testing suites to azure.