Comparing Loads on API Endpoints Using Gatling

I’ve spent a few days reading the docs on writing load tests using gatling.

My problem is that I want to test increasing loads on one api endpoint, while comparing the same endpoint (in the same way) with different query parameters.

I would like to chart all this data on the same report (so it is clear what the comparison between the response times in each of the tests).

When I started this task I naiively assumed that scenarios are run sequentially and in isolation. I now understand that to not be the case. (I believe they are all run concurrently in one simulation but please correct me if I’m wrong).

So right now I have a very ‘finagled’ test, that runs each of cases for the end points as a chain of requests within one scenario. Each of the endpoints also has a series of tests within the chain.

val rampupRandomPauses = scenario(“Summary All Cases”) // A scenario is a chain of requests and pauses // 3
.pause(0, 120)
.exec(http(“Summary - 1 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 60)
.exec(http(“Summary No Mask - 2 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 30)
.exec(http(“Summary No Mask - 4 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 15)
.exec(http(“Summary No Mask - 8 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 8)
.exec(http(“Summary No Mask - 16 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 4)
.exec(http(“Summary No Mask - 30 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 2)
.exec(http(“Summary No Mask - 60 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(0, 1)
.exec(http(“Summary No Mask - 120 U/S”)
.get(SUMMARY_PATH))
.rendezVous(TOTAL_USERS)
.pause(1)

I do this to try to gate the users on each iteration so that i can see when the service falls over. This seems like a very significant work around to what I would expect to be a simple use case. Please let me know if you know of an alternative/reliable way of testing this. Ultimately would like to compare DIFFERENT end points against EACH OTHER like I mentioned. Was going to append this to the end but I am not confident that the results from the current test are even giving me what I expect.

Any assistance greatly appreciated.