Pause type specifications

In looking at the 2.1.x documentation for pause, you can configure pauses at the simulation level, or at the scenario level. I looked for documentation for the scenario level, and all I see is the “force” parameter to the pause method itself. And that doesn’t seem to include the normal-distribution pause type.

If I understand what I am reading correctly (and I may not be), there is a gap in the functionality. For example: Imagine you have two scenarios (or more) that you need to run in the same simulation. In one scenario, we use exponential pauses. In the other, we use normal-distribution pauses. In the simulation, we want to either run with pauses, or without.

The way I see it, pause definitions should work like this:

For an individual pause, I should be able to specify the pause type. If I don’t specify, then I inherit the pause type from the scenario, or from the simulation.
IN ADDITION to specifying a pause type, I should be able to say “Always pause, even if pauses are turned off” - that’s the force parameter.

Then, at the scenario level, I should be able to set the default pause type for all pauses in the scenario. Any pauses that do not specify a type get the default. Technically, I should not be disabling pauses at the scenario level, but there is no reason not to allow for it.

Finally, at the simulation level, I should be able to set a default, or turn them off completely. Naturally, any pauses that use the Force parameter will still pause, even if pausing is turned off at the scenario.

How close is this vision of how things should be to the way things actually work in Gatling?

In looking at the 2.1.x documentation for pause, you can configure pauses
at the simulation level, or at the scenario level.

Just like protocols, you can configure pause type on scenarios.

I looked for documentation for the scenario level, and all I see is the

"force" parameter to the pause method itself.

And that doesn't seem to include the normal-distribution pause type.

Fixing. Possible values are the same:
http://gatling.io/docs/2.1.2/general/simulation_setup.html#global-pause-configuration

https://github.com/gatling/gatling/issues/2488

If I understand what I am reading correctly (and I may not be), there is a
gap in the functionality. For example: Imagine you have two scenarios (or
more) that you need to run in the same simulation. In one scenario, we use
exponential pauses. In the other, we use normal-distribution pauses. In
the simulation, we want to either run with pauses, or without.

The way I see it, pause definitions should work like this:

For an individual pause, I should be able to specify the pause type. If I
don't specify, then I inherit the pause type from the scenario, or from the
simulation.
IN ADDITION to specifying a pause type, I should be able to say "Always
pause, even if pauses are turned off" - that's the force parameter.

Then, at the scenario level, I should be able to set the default pause
type for all pauses in the scenario. Any pauses that do not specify a type
get the default. Technically, I should not be disabling pauses at the
scenario level, but there is no reason not to allow for it.

Why? I actually do that when developing/debugging.

Finally, at the simulation level, I should be able to set a default, or
turn them off completely. Naturally, any pauses that use the Force
parameter will still pause, even if pausing is turned off at the scenario.

How close is this vision of how things should be to the way things
actually work in Gatling?

That's exactly how it works: local force pause type > scenario pause type >
simulation pause type

What you describe is not exactly what I’m thinking.

I’m thinking that the “type” and “enabled/disabled” should be two different settings.

If I specify a type (other than disabled) in the simulation, and another in the scenario, the scenario type trumps. If I specify a different type for a particular/local pause, that wins, much like the way CSS works.

However, if I specify “disabled”, that should trump any more specific types. The scenario is designed to run with pauses using this model, but for this simulation, all pauses are disabled. Make sense?

Then, the local “force” flag should trump the “disabled” flag. Because the pause is necessary in order to make the code work at all. Which is why the force flag was implemented in the first place.

Those are my thoughts on the matter.