Simulation from feeder file with given intervals between requests

Hello,

I essentially want to use my application’s server log as a feeder file to a Gatling simulation where the most important part is that the time between consecutive log events (http requests) is respected during the simulation/replay.

The file has columns: , <user_id>, <other_info>, ordered by . I could transform the first column to contain the <delta_tmst> and use this with the pause() method during simulation but it seems like a hacky solution for something that I guess is a common requirement.

Is there some “out of the box” or user-contributed functionality in Gatling which allows me to do this type of replay?

Thank you,

/David

Hi David,

What you usually do is use a feeder to read the access log just in order to get the url, then use throttle to get the proper rps you expect.

It’s not very clear what <user_id> is. Is it a virtual user, so that you want pacing to be based on duration between requests for a given <user_id> value?
Or do you want pacing to be based on consecutive rows?

Stéphane

Hi Stéphane,

Thank you for your answer. <user_id> represents different users making requests so typically there would be several overlapping sessions from different users at the same time. I don’t know if Gatling is capable of simulating this accurately so as a start I just wanted to pace globally using the chronologically ordered log file with a fixed number of atOnceUsers.

/David

It’s probably possible, yet complicated, to feed the throttling profile from such a file.
Then, that would require quite some work.
Maybe that’s something you could contribute or sponsor.

Ok, I see - I am just getting started with Gatling and Scala so maybe it’s something I can do later. For now, ramping users and playing back in chronological order is ok for me.